@@ -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
353384def open_files (paths , key_format = 'file{}' ):
354385 if not isinstance (paths , list ):
0 commit comments