@@ -196,42 +196,71 @@ def audio(self, audio, artist, title):
196196
197197 return response
198198
199- def video (self , video , name = None , description = None ,
199+ def video (self , video_file = None , link = None , name = None , description = None ,
200200 is_private = False , wallpost = False , group_id = None ,
201201 album_id = None , privacy_view = None , privacy_comment = None ,
202202 no_comments = False , repeat = False ):
203203
204204 """ Загрузка видео
205205
206- :param video: url для встраивания видео с внешнего сайта, например, с Youtube.
207- или file-like объект
206+ :param video_file: путь до файла или file-like объект.
207+ :type video_file: object, str
208+
209+ :param link: url для встраивания видео с внешнего сайта,
210+ например, с Youtube.
211+ :type link: str
212+
208213 :param name: название видеофайла
214+ :type name: str
215+
209216 :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: настройки приватности комментирования видеозаписи в специальном формате.
217+ :type description: str
218+
219+ :param is_private: указывается 1, если видео загружается для отправки
220+ личным сообщением. После загрузки с этим параметром видеозапись
221+ не будет отображаться в списке видеозаписей пользователя и не будет
222+ доступна другим пользователям по ее идентификатору.
223+ :type is_private: bool
224+
225+ :param wallpost: требуется ли после сохранения опубликовать
226+ запись с видео на стене.
227+ :type wallpost: bool
228+
229+ :param group_id: идентификатор сообщества, в которое будет сохранен
230+ видеофайл. По умолчанию файл сохраняется на страницу текущего
231+ пользователя.
232+ :type group_id: int
233+
234+ :param album_id: идентификатор альбома, в который будет загружен
235+ видео файл.
236+ :type album_id: int
237+
238+ :param privacy_view: настройки приватности просмотра видеозаписи в
239+ специальном формате. (https://vk.com/dev/objects/privacy)
240+ Приватность доступна для видеозаписей, которые пользователь
241+ загрузил в профиль. (список слов, разделенных через запятую)
242+ :param privacy_comment: настройки приватности комментирования
243+ видеозаписи в специальном формате.
221244 (https://vk.com/dev/objects/privacy)
245+
222246 :param no_comments: 1 — закрыть комментарии (для видео из сообществ).
223- :param repeat: зацикливание воспроизведения видеозаписи. флаг, может принимать значения 1 или 0
247+ :type no_comments: bool
248+
249+ :param repeat: зацикливание воспроизведения видеозаписи. флаг.
250+ :type repeat: bool
224251 """
225252
226- if hasattr (video , 'read' ):
227- video_file = video
228- link = None
253+ if not link and not video_file :
254+ raise ValueError ('Either link or video_file param is required' )
229255
230- if hasattr (video , 'name' ) and not name :
231- name = file .name
232- else :
233- link = video
234- video_file = None
256+ if link and video_file :
257+ raise ValueError ('Both params link and video_file aren\' t allowed' )
258+
259+ if video_file and not hasattr (video_file , 'read' ):
260+ video_file = open (video_file , 'rb' )
261+
262+ if hasattr (video_file , 'name' ) and not name :
263+ name = video_file .name
235264
236265 values = {
237266 'name' : name ,
0 commit comments