Skip to content

Conversation

@xkord
Copy link
Contributor

@xkord xkord commented Oct 10, 2017

Понадобилось для того, чтобы выкачивать только последние обновления из вк (для методов wall.get, comments.get и пр.)

@python273
Copy link
Owner

Как-то не очень универсально, да и можно использовать get_all_iter и просто break когда нужно

@xkord
Copy link
Contributor Author

xkord commented Oct 10, 2017

Согласен, что не универсально для всех методов, но удобнее вызвать get_all и указать dt, относительно последнего выкачивания, чем цикл и там просматривать этот dt. По default-y он None и никому не мешает. Тогда и просто limit по идее не нужен, также можно в цикле увеличивать значение счетчика и break сделать при необходимости. В целом, не спорю, можно написать на пару строк больше кода и юзать get_all_iter, просто мне показалось, что было бы так удобнее.

@python273
Copy link
Owner

Лучше тогда добавить передачу функции, которая будет решать нужно ли дальше получать данные или остановиться

def get_all_iter(self, ..., stop_fn=None):
...
if stop_fn and stop_fn(items):
    break
get_all_iter(..., stop_fn=lambda items: items[-1]['date'] <= dt_limit)

Кстати вместо items[len(items) - 1] можно делать items[-1]

@xkord
Copy link
Contributor Author

xkord commented Oct 12, 2017

Поправил, только не знаю как правильно указать type в комментариях.

@python273 python273 merged commit 6cff073 into python273:master Nov 9, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants