Описание примеров, keyboard в docs#155
Описание примеров, keyboard в docs#155python273 merged 20 commits intopython273:masterfrom Helow19274:master
Conversation
| 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"}}],[]]}' |
There was a problem hiding this comment.
Не знаю как ещё сделать, но строчка очень длинная
There was a problem hiding this comment.
просто перенести, например так: stackoverflow.com,
Я думаю что лучше хранить эту строку в dict и потом преобразовывать её в json, это упростит понимания и позволит подсвечивать синтаксис и избавит от проблем с экранированием , а еще это тест и тут явно не нужна максимальная оптимизация.
There was a problem hiding this comment.
просто перенести, например так: stackoverflow.com
Тупанул :)
There was a problem hiding this comment.
Ну раз Вы у себя большими буквами сделали переменные среды, мне тоже придётся
|
|
||
| class TestExecute(unittest.TestCase): | ||
| def setUp(self): | ||
| self.vk = VkApi(login=os.environ['login'], password=os.environ['password']) |
There was a problem hiding this comment.
я еще у себя тоже допустил ошибку, c маленькими login и password
Лучше использовать большие буквы что-бы предотвратить конфликты c оболочкой командной строки.
There was a problem hiding this comment.
Одновременно мыслим )
Ну раз Вы у себя большими буквами сделали переменные среды, мне тоже придётся
|
Стоит test_jconfig на unittest переделать? |
Вроде правильный второй, нужно посмотреть как разные рендерятся в документацию |
| Примеры использования библиотеки vk_api | ||
| ====== | ||
| ### 'python@vk.com' замените на ваш логин, а 'mypassword на пароль' | ||
| ### 'bot_api_token' нужно заменить на токен группы |
There was a problem hiding this comment.
Это не нужно подзаголовками делать
| * [Пример использования longpoll](./longpoll.py) | ||
| * [???](./proxies_timeout_retries.py) | ||
| * [Пример работы с VkRequestsPool](./requests_pool.py) | ||
| * [Загрузка фото](./upload_photo.py) |
There was a problem hiding this comment.
Примеры лучше отсортировать по надобности (скорее всего большинство дальше VkApi и VkUpload не зайдет)
Многие почему-то берут requests_pool.py чтобы обычные запросы делать вместо simple_example.py. Поэтому simple_example.py лучше наверх и назвать как "Отправка запросов к API"
Топ 15 исполнителей профиля ВК
Получение всех постов со стены
Это слишком специфичные названия. Лучше что-то вроде "Получение аудиозаписей (VkAudio)", "Получение большого количества объектов (VkTools)"
| 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)) |
|
Меня не устраивает, что нельзя commit message менять |
Я вообще не вижу чтобы они рендерились |
| * [Пример использования longpoll](./longpoll.py) | ||
| * [Метод execute](./execute_functions.py) | ||
| * [Получение альбомов музыки](./get_album_audio.py) | ||
| * [Получение аудиозаписей(VkAudio)](./get_all_audio.py) |
There was a problem hiding this comment.
Добавь еще к остальным названиям используемый класс типа VkFunction, VkAudio, etc. И лучше добавить пробел перед (
| * [Обработка капчи](./captcha_handle.py) | ||
| * [Обработка двухфакторной аутентификации](./two_factor_auth.py) | ||
| * [Пример использования longpoll](./longpoll.py) | ||
| * [Метод execute](./execute_functions.py) |
There was a problem hiding this comment.
И лучше другие названия сделать типа Работа с пользовательским Long Poll (VkLongPoll) вместо Пример использования longpoll; Работа с оберткой над execute (VkFunction)
Можно же, погугли git amend и git rebase. Только у тебя навеврное не получится изменить из-за того, что у тебя фича в master, а не отдельной ветке. GitHub не позволяет менять историю в master, если у себя в настройках репозитория не разрешишь |
| @@ -0,0 +1,17 @@ | |||
| Примеры использования библиотеки vk_api | |||
| ====== | |||
| 'python@vk.com' замените на ваш логин, а 'mypassword на пароль' | |||
|
|
||
| def test_config_section(): | ||
| c = MemoryConfig('secret') | ||
| class TestJconfig(unittest.TestCase): |
There was a problem hiding this comment.
Наверное зря ты тесты в один PR добавил. До этого спользовались pytest, не уверен, что стоит менять на unittest
There was a problem hiding this comment.
Чтобы все тесты привести к единому стилю и в итоге подключить к какому-нибудь Travis
There was a problem hiding this comment.
Ну так раньше был один тест jconfig с pytest 😃
Думаю все же лучше сделать на pytest. Еще желательно разделить тесты на который требуют только токен и которые требуют еще login, password.
Не знаю получится ли сделать стабильные тесты с Travis, там же капча и все такое
There was a problem hiding this comment.
Не знаю получится ли сделать стабильные тесты с Travis, там же капча и все такое
Ну попробовать стоит. Думаю, если собирать не слишком часто, должно работать
There was a problem hiding this comment.
@python273 тогда перейти на pytest?
Не знаю получится ли сделать стабильные тесты с Travis, там же капча и все такое
Думаю если использовать Travis это в любом случаи позволит быстрее реагировать на изменения в VK (+api), по мне так лучше тест будет падать чем просто не будет исполняться.
(на капчу можно даже собрать пару долларов, думаю их хватит на пару лет)
There was a problem hiding this comment.
(на капчу можно даже собрать пару долларов, думаю их хватит на пару лет)
Я пользовался рукапчей пару лет назад, закинул 15 рублей, почти на месяц хватило
Спасибо
Создал пустой репозиторий проверить, сработало |
|
Не знаю как поступить с upload, при каждом коммите мучить сервера вк не очень |
У меня нет идей. Если подавать 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) |
There was a problem hiding this comment.
Отдельным PR можно переделать через fixtures: https://docs.pytest.org/en/latest/fixture.html#fixtures
| 'users.get', | ||
| key='user_ids', | ||
| values=['durov', 'python273'], | ||
| default_values={'fields': 'city'}) |
There was a problem hiding this comment.
такое форматирование лучше поменять на
users, error = vk_request_one_param_pool(
vk,
'users.get',
...

#150