Skip to content

Commit be91a01

Browse files
TechnoStrifepython273
authored andcommitted
Add VkUpload.photo_market & VkUpload.photo_market_album (#287)
1 parent bf711df commit be91a01

File tree

1 file changed

+71
-0
lines changed

1 file changed

+71
-0
lines changed

vk_api/upload.py

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,77 @@ def photo_wall(self, photos, user_id=None, group_id=None, caption=None):
202202

203203
return self.vk.photos.saveWallPhoto(**values)
204204

205+
def photo_market(self, photo, group_id, main_photo=False,
206+
crop_x=None, crop_y=None, crop_width=None):
207+
""" Загрузка изображений для товаров в магазине
208+
209+
:param photo: путь к изображению(ям) или file-like объект(ы)
210+
:type photo: str or list
211+
212+
:param group_id: идентификатор сообщества, для которого необходимо загрузить фотографию товара
213+
:type group_id: int
214+
:param main_photo: является ли фотография обложкой товара
215+
:type main_photo: bool
216+
:param crop_x: координата x для обрезки фотографии (верхний правый угол)
217+
:type crop_x: int
218+
:param crop_y: координата y для обрезки фотографии (верхний правый угол)
219+
:type crop_y: int
220+
:param crop_width: ширина фотографии после обрезки в px
221+
:type crop_width: int
222+
"""
223+
224+
if group_id < 0:
225+
group_id = abs(group_id)
226+
227+
values = {
228+
'main_photo': main_photo,
229+
'group_id': group_id,
230+
}
231+
232+
if crop_x is not None:
233+
values['crop_x'] = crop_x
234+
if crop_y is not None:
235+
values['crop_y'] = crop_y
236+
if crop_width is not None:
237+
values['crop_width'] = crop_width
238+
239+
response = self.vk.photos.getMarketUploadServer(**values)
240+
url = response['upload_url']
241+
242+
with FilesOpener(photo) as photos_files:
243+
response = self.http.post(url, files=photos_files)
244+
245+
values.update(response.json())
246+
247+
return self.vk.photos.saveMarketPhoto(**values)
248+
249+
def photo_market_album(self, photo, group_id):
250+
""" Загрузка фотографии для подборки товаров
251+
252+
:param photo: путь к изображению(ям) или file-like объект(ы)
253+
:type photo: str or list
254+
255+
:param group_id: идентификатор сообщества, для которого необходимо загрузить фотографию для подборки товаров
256+
:type group_id: int
257+
"""
258+
259+
if group_id < 0:
260+
group_id = abs(group_id)
261+
262+
values = {
263+
'group_id': group_id,
264+
}
265+
266+
response = self.vk.photos.getMarketAlbumUploadServer(**values)
267+
url = response['upload_url']
268+
269+
with FilesOpener(photo) as photos_files:
270+
response = self.http.post(url, files=photos_files)
271+
272+
values.update(response.json())
273+
274+
return self.vk.photos.saveMarketAlbumPhoto(**values)
275+
205276
def audio(self, audio, artist, title):
206277
""" Загрузка аудио
207278

0 commit comments

Comments
 (0)