@@ -195,6 +195,66 @@ def audio(self, audio, artist, title):
195195 response = self .vk .method ('audio.save' , response )
196196
197197 return response
198+
199+ def video (self , video , name = None , description = None ,
200+ is_private = False , wallpost = False , group_id = None ,
201+ album_id = None , privacy_view = None , privacy_comment = None ,
202+ no_comments = False , repeat = False ):
203+
204+ """ Загрузка видео
205+
206+ :param video: url для встраивания видео с внешнего сайта, например, с Youtube.
207+ или file-like объект
208+ :param name: название видеофайла
209+ :param description: описание видеофайла
210+ :param is_private: указывается 1, если видео загружается для отправки личным сообщением.
211+ После загрузки с этим параметром видеозапись не будет отображаться в списке видеозаписей
212+ пользователя и не будет доступна другим пользователям по ее идентификатору.
213+ :param wallpost: требуется ли после сохранения опубликовать запись с видео на стене.
214+ :param group_id: идентификатор сообщества, в которое будет сохранен видеофайл.
215+ По умолчанию файл сохраняется на страницу текущего пользователя.
216+ :param album_id: идентификатор альбома, в который будет загружен видео файл.
217+ :param privacy_view: настройки приватности просмотра видеозаписи в специальном формате.
218+ Приватность доступна для видеозаписей, которые пользователь загрузил в профиль.
219+ (список слов, разделенных через запятую)
220+ :param privacy_comment: настройки приватности комментирования видеозаписи в специальном формате.
221+ (https://vk.com/dev/objects/privacy)
222+ :param no_comments: 1 — закрыть комментарии (для видео из сообществ).
223+ :param repeat: зацикливание воспроизведения видеозаписи. флаг, может принимать значения 1 или 0
224+ """
225+
226+ if hasattr (video , 'read' ):
227+ video_file = video
228+ link = None
229+
230+ if hasattr (video , 'name' ) and not name :
231+ name = file .name
232+ else :
233+ link = video
234+ video_file = None
235+
236+ values = {
237+ 'name' : name ,
238+ 'description' : description ,
239+ 'is_private' : is_private ,
240+ 'wallpost' : wallpost ,
241+ 'link' : link ,
242+ 'group_id' : group_id ,
243+ 'album_id' : album_id ,
244+ 'privacy_view' : privacy_view ,
245+ 'privacy_comment' : privacy_comment ,
246+ 'no_comments' : no_comments ,
247+ 'repeat' : repeat
248+ }
249+
250+ url = self .vk .method ('video.save' , values )['upload_url' ]
251+
252+ response = self .vk .http .post (
253+ url ,
254+ files = {'video_file' : video_file } if not link else None
255+ ).json ()
256+
257+ return response
198258
199259 def document (self , doc , title = None , tags = None , group_id = None ,
200260 to_wall = False ):
0 commit comments