Skip to content

Commit eb37746

Browse files
committed
Refactoring code
1 parent 5ceb2a6 commit eb37746

4 files changed

Lines changed: 22 additions & 25 deletions

File tree

jconfig/__init__.py

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,4 @@
1313
__email__ = 'python273@ya.ru'
1414
__contact__ = 'https://vk.com/python273'
1515

16-
17-
import sys
18-
if sys.version_info[0] == 2:
19-
from jconfig import *
20-
else:
21-
from .jconfig import *
16+
from .jconfig import *

vk_api/__init__.py

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,6 @@
1313
__email__ = 'python273@ya.ru'
1414
__contact__ = 'https://vk.com/python273'
1515

16-
import sys
17-
18-
if sys.version_info[0] == 2:
19-
from vk_api import *
20-
from vk_upload import *
21-
from vk_tools import *
22-
else:
23-
from .vk_api import *
24-
from .vk_upload import *
25-
from .vk_tools import *
16+
from .vk_api import *
17+
from .vk_upload import *
18+
from .vk_tools import *

vk_api/vk_tools.py

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,19 @@
1616

1717

1818
class VkTools(object):
19+
""" Содержит некоторые воспомогательные функции, которые могут понадобиться
20+
при использовании API
21+
"""
22+
23+
__slots__ = ('vk',)
24+
1925
def __init__(self, vk):
2026
"""
21-
2227
:param vk: объект VkApi
2328
"""
24-
2529
self.vk = vk
2630

27-
def get_all(self, method, max_count, values=None, key='items',
28-
limit=None):
31+
def get_all(self, method, max_count, values=None, key='items', limit=None):
2932
""" Получить все элементы
3033
Работает в методах, где в ответе есть count и items или users
3134
За один запрос получает max_count * 25 элементов
@@ -56,18 +59,18 @@ def get_all(self, method, max_count, values=None, key='items',
5659
response = self.vk.method('execute', {'code': run_code})
5760

5861
items += response['items']
62+
offset = response['offset']
5963

60-
if response['offset'] >= response['count']:
64+
if offset >= response['count']:
6165
break
6266

6367
if limit and len(items) >= limit:
6468
break
6569

66-
offset = response['offset']
67-
6870
return {'count': len(items), key: items}
6971

70-
def get_all_slow(self, method, values=None, max_count=200, key='items'):
72+
def get_all_slow(self, method, max_count, values=None, key='items',
73+
limit=None):
7174
""" Получить все элементы
7275
Работает в методах, где в ответе есть count и items или users
7376
@@ -76,6 +79,8 @@ def get_all_slow(self, method, values=None, max_count=200, key='items'):
7679
:param max_count: максимальное количество элементов,
7780
которое можно получить за один раз
7881
:param key: ключ элементов, которые нужно получить
82+
:param limit: ограничение на кол-во получаемых элементов,
83+
но может прийти больше
7984
"""
8085

8186
if not values:
@@ -97,8 +102,12 @@ def get_all_slow(self, method, values=None, max_count=200, key='items'):
97102
response = self.vk.method(method, values)
98103
items += response[key]
99104

105+
if limit and len(items) >= limit:
106+
break
107+
100108
return {'count': len(items), key: items}
101109

110+
102111
# Полный код в файле vk_procedures
103112
code_get_all_items = """
104113
var m=%s,n=%s,b="%s",v=n;var c={count:m,offset:v}+%s;var r=API.%s(c),k=r.count,

vk_api/vk_upload.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ def document(self, file_path, title=None, tags=None, group_id=None):
139139

140140
def open_photos(photos_paths):
141141
if not isinstance(photos_paths, list):
142-
photos_paths = [photos_paths]
142+
photos_paths = [photos_paths]
143143

144144
photos = []
145145

0 commit comments

Comments
 (0)