Skip to content

Commit 6836675

Browse files
Helow19274python273
authored andcommitted
Загрузка граффити (#133)
1 parent 4fc53b7 commit 6836675

6 files changed

Lines changed: 32 additions & 16 deletions

File tree

vk_api/execute.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313

1414
class VkFunction(object):
15-
"""
15+
"""
1616
Обертка над методом execute.
1717
1818
:param code: код функции (VKScript)

vk_api/longpoll.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -381,7 +381,7 @@ def listen(self):
381381

382382
class Event(object):
383383
"""
384-
Событие, полученное от longpoll-сервера.
384+
Событие, полученное от longpoll-сервера.
385385
386386
Имеет поля в соответствии с `документацией <https://vk.com/dev/using_longpoll?f=3.%20Структура%20событий>`_.
387387

vk_api/requests_pool.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ def error(self, value):
4646

4747
@property
4848
def result(self):
49-
"""Результат запроса, если он прошёл успешно."""
49+
"""Результат запроса, если он прошёл успешно."""
5050
if not self.ready:
5151
raise RuntimeError('Result is not available in `with` context')
5252

@@ -67,11 +67,11 @@ def ok(self):
6767

6868

6969
class VkRequestsPool(object):
70-
"""
70+
"""
7171
Позволяет сделать несколько обращений к API за один запрос
7272
за счет метода execute.
7373
74-
Служит как менеджер контекста: запросы к API добавляются в
74+
Служит как менеджер контекста: запросы к API добавляются в
7575
открытый пул, и выполняются при его закрытии.
7676
7777
:param vk: Объект :class:`VkApi`
@@ -98,7 +98,7 @@ def get_execute_errors(self):
9898
return self.execute_errors
9999

100100
def method(self, method, values=None):
101-
"""
101+
"""
102102
Добавляет запрос в пул. Невозможно использовать вместе с :func:`method_one_param`.
103103
Возвращаемое значение будет содержать результат после закрытия пула.
104104
@@ -123,7 +123,7 @@ def method(self, method, values=None):
123123
return result
124124

125125
def method_one_param(self, method, key, values, default_values=None):
126-
"""
126+
"""
127127
Использовать, если изменяется значение только одного параметра.
128128
Невозможно использовать вместе с :func:`method`.
129129
Возвращаемое значение будет содержать результат после закрытия пула.

vk_api/tools.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818

1919
class VkTools(object):
20-
"""
20+
"""
2121
Содержит некоторые воспомогательные функции, которые могут понадобиться
2222
при использовании API
2323
@@ -31,7 +31,7 @@ def __init__(self, vk):
3131

3232
def get_all_iter(self, method, max_count, values=None, key='items',
3333
limit=None, stop_fn=None, negative_offset=False):
34-
"""
34+
"""
3535
Получить все элементы.
3636
Работает в методах, где в ответе есть count и items или users.
3737
За один запрос получает max_count * 25 элементов
@@ -98,7 +98,7 @@ def get_all_iter(self, method, max_count, values=None, key='items',
9898

9999
def get_all(self, method, max_count, values=None, key='items', limit=None,
100100
stop_fn=None, negative_offset=False):
101-
"""
101+
"""
102102
Использовать только если нужно загрузить все объекты в память.
103103
104104
Eсли вы можете обрабатывать объекты по частям, то лучше
@@ -118,7 +118,7 @@ def get_all(self, method, max_count, values=None, key='items', limit=None,
118118

119119
def get_all_slow_iter(self, method, max_count, values=None, key='items',
120120
limit=None, stop_fn=None, negative_offset=False):
121-
"""
121+
"""
122122
Получить все элементы (без использования execute)
123123
Работает в методах, где в ответе есть count и items или users
124124
@@ -190,7 +190,7 @@ def get_all_slow_iter(self, method, max_count, values=None, key='items',
190190

191191
def get_all_slow(self, method, max_count, values=None, key='items',
192192
limit=None, stop_fn=None, negative_offset=False):
193-
"""
193+
"""
194194
Использовать только если нужно загрузить все объекты в память.
195195
196196
Eсли вы можете обрабатывать объекты по частям, то лучше
@@ -223,7 +223,7 @@ def get_all_slow(self, method, max_count, values=None, key='items',
223223
calls = calls + 1;
224224
225225
params.offset = offset * %(offset_mul)s;
226-
var response = API.%(method)s(params),
226+
var response = API.%(method)s(params),
227227
new_count = response.count,
228228
count_diff = (count == null ? 0 : new_count - count);
229229

vk_api/upload.py

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
:copyright: (c) 2018 python273
88
"""
99

10-
1110
STORY_ALLOWED_LINK_TEXTS = {
1211
'to_store', 'vote', 'more', 'book', 'order',
1312
'enroll', 'fill', 'signup', 'buy', 'ticket',
@@ -285,8 +284,23 @@ def audio_message(self, audio, group_id=None):
285284
to_wall=group_id is not None
286285
)
287286

287+
def graffiti(self, image, group_id=None):
288+
""" Загрузка граффити
289+
290+
:param image: путь к png изображению или file-like объект.
291+
:param group_id: идентификатор сообщества
292+
(если используется токен сообщества)
293+
"""
294+
295+
return self.document(
296+
image,
297+
graffiti=True,
298+
group_id=group_id,
299+
to_wall=group_id is not None
300+
)
301+
288302
def document(self, doc, title=None, tags=None, group_id=None,
289-
to_wall=False, audio_message=False):
303+
to_wall=False, audio_message=False, graffiti=False):
290304
""" Загрузка документа
291305
292306
:param doc: путь к документу или file-like объект
@@ -300,6 +314,8 @@ def document(self, doc, title=None, tags=None, group_id=None,
300314

301315
if audio_message:
302316
values['type'] = 'audio_message'
317+
elif graffiti:
318+
values['type'] = 'graffiti'
303319

304320
if to_wall:
305321
method = 'docs.getWallUploadServer'

vk_api/vk_api.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ class VkApi(object):
9191
def __init__(self, login=None, password=None, token=None,
9292
auth_handler=None, captcha_handler=None,
9393
config=jconfig.Config, config_filename='vk_config.v2.json',
94-
api_version='5.73', app_id=6222115, scope=DEFAULT_USER_SCOPE,
94+
api_version='5.74', app_id=6222115, scope=DEFAULT_USER_SCOPE,
9595
client_secret=None):
9696

9797
self.login = login

0 commit comments

Comments
 (0)