Skip to content

Commit 56678e1

Browse files
authored
Add VkUpload.photo_cover
1 parent efdc064 commit 56678e1

1 file changed

Lines changed: 31 additions & 0 deletions

File tree

vk_api/upload.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -349,6 +349,37 @@ def document_wall(self, doc, title=None, tags=None, group_id=None):
349349

350350
return self.document(doc, title, tags, group_id, True)
351351

352+
def photo_cover(self, photo, group_id=None, crop_x=None, crop_y=None,
353+
crop_x2=None, crop_y2=None):
354+
""" Загрузка изображения профиля
355+
356+
:param photo: путь к изображению или file-like объект
357+
:param group_id: идентификатор сообщества.
358+
:param crop_x: координата X верхнего правого угла миниатюры.
359+
:param crop_y: координата Y верхнего правого угла миниатюры.
360+
:param crop_x2: координата X нижнего правого угла для обрезки изображения.
361+
:param crop_y2: координата Y нижнего правого угла для обрезки изображения.
362+
"""
363+
values = {'group_id': group_id}
364+
365+
crop_params = {}
366+
367+
if crop_x is not None and crop_y is not None and crop_x2 is not None and crop_y2 is not None:
368+
crop_params['_square_crop'] = '{},{},{},{}'.format(
369+
crop_x, crop_y, crop_x2, crop_y2
370+
)
371+
372+
response = self.vk.method('photos.getOwnerCoverPhotoUploadServer', values)
373+
url = response['upload_url']
374+
375+
photo_files = open_files(photo, key_format='file')
376+
response = self.vk.http.post(url, data=crop_params, files=photo_files)
377+
close_files(photo_files)
378+
379+
response = self.vk.method('photos.saveOwnerCoverPhoto', response.json())
380+
381+
return response
382+
352383

353384
def open_files(paths, key_format='file{}'):
354385
if not isinstance(paths, list):

0 commit comments

Comments
 (0)