Skip to content

Commit 72468ac

Browse files
committed
VkRequestsPool: fix unicode in requests values
1 parent 99ede5b commit 72468ac

1 file changed

Lines changed: 11 additions & 5 deletions

File tree

vk_api/vk_tools.py

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ def get_all(self, method, max_count, values=None, key='items', limit=None):
5252

5353
while True:
5454
run_code = code_get_all_items % (
55-
max_count, offset, key, json.dumps(values, ensure_ascii=False),
55+
max_count, offset, key, sjson_dumps(values),
5656
method, method
5757
)
5858

@@ -187,7 +187,7 @@ def gen_code_one_method(self, pool):
187187
method = pool[0][0]
188188

189189
list_values = [i[1] for i in pool]
190-
json_list_values = json.dumps(list_values, separators=(',', ':'))
190+
json_list_values = sjson_dumps(list_values)
191191
run_code = code_requestspoll_one_method % (
192192
json_list_values, method
193193
)
@@ -199,8 +199,8 @@ def gen_code_one_param(self, pool):
199199
(если в пулле запросы к одному методу, с одним меняющеися параметром)
200200
"""
201201
run_code = code_requestspoll_one_param % (
202-
json.dumps(self.one_param['default'], separators=(',', ':')),
203-
json.dumps(pool, separators=(',', ':')),
202+
sjson_dumps(self.one_param['default']),
203+
sjson_dumps(pool),
204204
self.one_param['key'],
205205
self.one_param['method']
206206
)
@@ -212,7 +212,7 @@ def gen_code_one_param(self, pool):
212212
def gen_code_many_methods(self, pool):
213213
""" Генерирует код для нескольких методов """
214214
reqs = ','.join(
215-
'API.{}({})'.format(i[0], json.dumps(i[1]), separators=(',', ':'))
215+
'API.{}({})'.format(i[0], sjson_dumps(i[1]))
216216
for i in pool
217217
)
218218
run_code = 'return [{}];'.format(reqs)
@@ -242,6 +242,12 @@ def execute(self):
242242
self.pool[i + x][2].update(response[x])
243243

244244

245+
def sjson_dumps(*args, **kwargs):
246+
kwargs['ensure_ascii'] = False
247+
kwargs['separators'] = (',', ':')
248+
249+
return json.dumps(*args, **kwargs)
250+
245251
# Полный код в файле vk_procedures
246252
code_get_all_items = """
247253
var m=%s,n=%s,b="%s",v=n;var c={count:m,offset:v}+%s;var r=API.%s(c),k=r.count,

0 commit comments

Comments
 (0)