Post()
object and postingPost
object is used to represent a post on D*.
Posting is done through a Stream
object method post()
.
It supports posting just text, images or text and images.
Stream().post()
returns Post
object referring to the post
which have just been created.
If you want to post just text you should call post()
method with
text
argument.
stream.post(text='Your post.')
It will return Post
you have just created.
Posting images, from back-end point of view, is a two-step process.
First, you have to upload an image to the desired pod.
This is done by _photoupload()
method.
It will return id of uploaded image.
Then you have to actually post your image and this is done by appending
photos
field containg the id of uploaded image to the data being
sent by request. This is handled by post()
method.
post()
has two very similar arguments used for posting photos.
They are photos
- which takes id and photo
- which takes filename.
You can post images using either of them. Even passing them side by side
is accepted but remember that photos
will overwrite data set by photo
.
Example #1: using photo
stream.post(photo='./kitten-image.png')
Example #2: using photos
id = stream._photoupload(filename='./kitten-image.png')
stream.post(photos=id)
The effect will be the same.
To either call you can append text
argument which will be posted alongside
the image.
diaspy
, written by Marek Marecki