if post.image_url:
upload_url = self.vk_api.photos.getWallUploadServer(group_id=self.group_id)['upload_url']
try:
r = requests.get(post.image_url)
except vk.exceptions.VkAPIError:
time.sleep(1)
r = requests.get(post.image_url)
image_data = r.content
r = requests.post(upload_url, files={'photo': (post.image_name, image_data) }).json()
d = {}
d['server'] = r['server']
d['photo'] = r['photo']
d['hash'] = r['hash']
d['group_id'] = self.group_id
photo_id = self.vk_api.photos.saveWallPhoto(**d)[0]['id']
vk_message = '%s (%s)\n%s\n\n%s\nЧитать дальше: %s' % (post.title, post.author, post.url, post.abstract, post.url)
vk_params = { 'message': vk_message, 'from_group': 1, 'owner_id': -self.group_id }
if post.image_url:
vk_params['attachments'] = '%s,%s' % (photo_id, post.url)
vk_params['copyright'] = post.url
post_id = self.vk_api.wall.post(**vk_params)['post_id']
return post_id