Skip to content

Описание примеров, keyboard в docs#155

Merged
python273 merged 20 commits intopython273:masterfrom
Helow19274:master
Jul 23, 2018
Merged

Описание примеров, keyboard в docs#155
python273 merged 20 commits intopython273:masterfrom
Helow19274:master

Conversation

@Helow19274
Copy link
Copy Markdown
Contributor

@Helow19274 Helow19274 commented Jul 17, 2018

@Helow19274
Copy link
Copy Markdown
Contributor Author

Везде шапки оформить так, так или так?

Comment thread tests/test_keyboard.py Outdated
from vk_api import VkKeyboard
from vk_api.keyboard import KeyboardColor

KEYBOARD_TEST = '{"one_time":false,"buttons":[[{"color":"default","action":{"type":"text","payload":"{\\"test\\":\\"some_payload\\"}","label":"Test-1"}}],[]]}'
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Не знаю как ещё сделать, но строчка очень длинная

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

просто перенести, например так: stackoverflow.com,

Я думаю что лучше хранить эту строку в dict и потом преобразовывать её в json, это упростит понимания и позволит подсвечивать синтаксис и избавит от проблем с экранированием , а еще это тест и тут явно не нужна максимальная оптимизация.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

просто перенести, например так: stackoverflow.com

Тупанул :)

Copy link
Copy Markdown
Contributor Author

@Helow19274 Helow19274 Jul 17, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ну раз Вы у себя большими буквами сделали переменные среды, мне тоже придётся

Comment thread tests/test_execute.py Outdated

class TestExecute(unittest.TestCase):
def setUp(self):
self.vk = VkApi(login=os.environ['login'], password=os.environ['password'])
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

я еще у себя тоже допустил ошибку, c маленькими login и password

Лучше использовать большие буквы что-бы предотвратить конфликты c оболочкой командной строки.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Одновременно мыслим )

Ну раз Вы у себя большими буквами сделали переменные среды, мне тоже придётся

@Helow19274
Copy link
Copy Markdown
Contributor Author

Стоит test_jconfig на unittest переделать?

@python273
Copy link
Copy Markdown
Owner

Везде шапки оформить так, так или так?

Вроде правильный второй, нужно посмотреть как разные рендерятся в документацию

Comment thread examples/README.md Outdated
Примеры использования библиотеки vk_api
======
### 'python@vk.com' замените на ваш логин, а 'mypassword на пароль'
### 'bot_api_token' нужно заменить на токен группы
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Это не нужно подзаголовками делать

Comment thread examples/README.md Outdated
* [Пример использования longpoll](./longpoll.py)
* [???](./proxies_timeout_retries.py)
* [Пример работы с VkRequestsPool](./requests_pool.py)
* [Загрузка фото](./upload_photo.py)
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Примеры лучше отсортировать по надобности (скорее всего большинство дальше VkApi и VkUpload не зайдет)

Многие почему-то берут requests_pool.py чтобы обычные запросы делать вместо simple_example.py. Поэтому simple_example.py лучше наверх и назвать как "Отправка запросов к API"

Топ 15 исполнителей профиля ВК
Получение всех постов со стены

Это слишком специфичные названия. Лучше что-то вроде "Получение аудиозаписей (VkAudio)", "Получение большого количества объектов (VkTools)"

Comment thread tests/test_keyboard.py Outdated
self.assertEqual(self.keyboard.get_keyboard(), sjson_dumps(KEYBOARD_TEST))

def test_empty_keyboard(self):
self.assertEqual(self.keyboard.get_empty_keyboard(), sjson_dumps(EMPTY_KEYBOARD_TEST))
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Вроде строки >80 символов

@Helow19274
Copy link
Copy Markdown
Contributor Author

Меня не устраивает, что нельзя commit message менять

@Helow19274
Copy link
Copy Markdown
Contributor Author

Вроде правильный второй, нужно посмотреть как разные рендерятся в документацию

Я вообще не вижу чтобы они рендерились

Comment thread examples/README.md Outdated
* [Пример использования longpoll](./longpoll.py)
* [Метод execute](./execute_functions.py)
* [Получение альбомов музыки](./get_album_audio.py)
* [Получение аудиозаписей(VkAudio)](./get_all_audio.py)
Copy link
Copy Markdown
Owner

@python273 python273 Jul 18, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Добавь еще к остальным названиям используемый класс типа VkFunction, VkAudio, etc. И лучше добавить пробел перед (

Comment thread examples/README.md Outdated
* [Обработка капчи](./captcha_handle.py)
* [Обработка двухфакторной аутентификации](./two_factor_auth.py)
* [Пример использования longpoll](./longpoll.py)
* [Метод execute](./execute_functions.py)
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

И лучше другие названия сделать типа Работа с пользовательским Long Poll (VkLongPoll) вместо Пример использования longpoll; Работа с оберткой над execute (VkFunction)

@python273
Copy link
Copy Markdown
Owner

Меня не устраивает, что нельзя commit message менять

Можно же, погугли git amend и git rebase. Только у тебя навеврное не получится изменить из-за того, что у тебя фича в master, а не отдельной ветке. GitHub не позволяет менять историю в master, если у себя в настройках репозитория не разрешишь

Comment thread examples/README.md Outdated
@@ -0,0 +1,17 @@
Примеры использования библиотеки vk_api
======
'python@vk.com' замените на ваш логин, а 'mypassword на пароль'
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

тут еще кавычка не там

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:)

Comment thread tests/test_jconfig.py Outdated

def test_config_section():
c = MemoryConfig('secret')
class TestJconfig(unittest.TestCase):
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Наверное зря ты тесты в один PR добавил. До этого спользовались pytest, не уверен, что стоит менять на unittest

Copy link
Copy Markdown
Contributor Author

@Helow19274 Helow19274 Jul 18, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Чтобы все тесты привести к единому стилю и в итоге подключить к какому-нибудь Travis

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ну так раньше был один тест jconfig с pytest 😃

Думаю все же лучше сделать на pytest. Еще желательно разделить тесты на который требуют только токен и которые требуют еще login, password.

Не знаю получится ли сделать стабильные тесты с Travis, там же капча и все такое

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Не знаю получится ли сделать стабильные тесты с Travis, там же капча и все такое

Ну попробовать стоит. Думаю, если собирать не слишком часто, должно работать

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@python273 тогда перейти на pytest?

Не знаю получится ли сделать стабильные тесты с Travis, там же капча и все такое

Думаю если использовать Travis это в любом случаи позволит быстрее реагировать на изменения в VK (+api), по мне так лучше тест будет падать чем просто не будет исполняться.

(на капчу можно даже собрать пару долларов, думаю их хватит на пару лет)

Copy link
Copy Markdown
Contributor Author

@Helow19274 Helow19274 Jul 18, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(на капчу можно даже собрать пару долларов, думаю их хватит на пару лет)

Я пользовался рукапчей пару лет назад, закинул 15 рублей, почти на месяц хватило

@Helow19274
Copy link
Copy Markdown
Contributor Author

Можно же, погугли git amend и git rebase.

Спасибо

GitHub не позволяет менять историю в master, если у себя в настройках репозитория не разрешишь

Создал пустой репозиторий проверить, сработало

@Helow19274
Copy link
Copy Markdown
Contributor Author

default

@Helow19274
Copy link
Copy Markdown
Contributor Author

Не знаю как поступить с upload, при каждом коммите мучить сервера вк не очень

@Helow19274
Copy link
Copy Markdown
Contributor Author

Нужно пофиксить если так

У меня нет идей. Если подавать json как str, то с ним ничего делать не надо. А если подавать простую строку, то надо

from vk_api import VkApi, VkRequestsPool, vk_request_one_param_pool

vk = VkApi(login=os.environ['LOGIN'], password=os.environ['PASSWORD'])
vk.auth(token_only=True)
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Отдельным PR можно переделать через fixtures: https://docs.pytest.org/en/latest/fixture.html#fixtures

'users.get',
key='user_ids',
values=['durov', 'python273'],
default_values={'fields': 'city'})
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

такое форматирование лучше поменять на

    users, error = vk_request_one_param_pool(
        vk,
        'users.get',
        ...

@python273 python273 merged commit fc10bfc into python273:master Jul 23, 2018
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.

3 participants