@ru_python

Страница 3750 из 9768
Pit
13.09.2017
14:56:25
Кто тут по телегским ботам шарит?

Сонячний єнот
13.09.2017
14:56:45
Я только учусь

Pit
13.09.2017
14:59:41
В общем, пишу бота через хендлеры и в качестве параметра необходимо передать функцию, которая сравнивает полученное сообщение с шаблоном. И столкнулся с таким куском кода:



Google
Pit
13.09.2017
15:00:22
Ну такое. Как это сократить? можно же все в один массив и как-то чето переделать?

Artem
13.09.2017
15:00:28
отвратительно

mess.text in VALID, где VALID это ['УБЗ-31', 'СТЗ-31', …]

Vasiliy
13.09.2017
15:01:25
БУЭ-46

Pit
13.09.2017
15:01:47
Спасибо, люблю

serbernar
13.09.2017
15:02:21
лол

Vasiliy
13.09.2017
15:02:56
а лучше VALID = load_valid_codes(code_path)

Pit
13.09.2017
15:05:17
Спасибо, тебя тоже люблю

serbernar
13.09.2017
15:05:19
А лучше скллайт кокойто для такого притащить, боту же бд все равно нужна будет. а потом можно будет и в удобный интерфейс для редактирования этих групп

b0g3r
13.09.2017
15:05:25
(а ещё почему декоратор внутри функции?)

Artem
13.09.2017
15:05:30


serbernar
13.09.2017
15:05:49
Что это?

Artem
13.09.2017
15:05:58
крипта упала

Google
Artem
13.09.2017
15:06:02
до нуля

Artem
13.09.2017
15:06:12
Еще отскочит

Artem
13.09.2017
15:06:15
на самом деле кто-то сломал апи свое

Add
13.09.2017
15:06:16
Какая крипта?

Artem
13.09.2017
15:06:21
satoshi.fund

Pit
13.09.2017
15:06:36
Парень не хотел захламлять основной скрипт таким большим куском и вынес в отдельный файл

(а ещё почему декоратор внутри функции?)

b0g3r
13.09.2017
15:07:18
это такое себе объяснение, ну да ладно

serbernar
13.09.2017
15:08:14
А ты глазастый

b0g3r
13.09.2017
15:12:21
очки не зря ношу

Tony
13.09.2017
16:28:50
че он выебывается?





Tigran
13.09.2017
16:29:42
ты его готовить не умеешь

Tony
13.09.2017
16:30:02
так и че делать?

Tigran
13.09.2017
16:30:04
он пытается запустить все функции, начинающиеся с test_

а аргументы подобрать из перечня фикстур

/dev
13.09.2017
16:30:59
хрень

Tigran
13.09.2017
16:31:02
вообще тебе вряд ли нужна тысяча автосгенерированных тестов

Google
Tigran
13.09.2017
16:31:09
это плохой дизайн тестов изначально

/dev
13.09.2017
16:32:03
для того, чтоб проверить, правильно отсортирован ли массив, тебе не нужно запускать другую реализацию сортировки и сравнивать результаты

тебе достаточно проверить, что порядок в массиве не нарушен

/dev
13.09.2017
16:32:27
а если в sorted() есть баги?

Tony
13.09.2017
16:32:35
/dev
13.09.2017
16:33:18
лол
то, что у тебя написано — это стресс-тест при сравнении с sorted(), но никак не проверка корректности

Voskresus
13.09.2017
16:33:19
пацаны что за трабла такая: уже неделю паршу номера с страниц одного сайта с объявлениями и тут вдруг не с того не с сего началась какая то хуйня с запросами сервер отвечает на любой запрос бота страницей с тайтлом "ошибка 403, доступ запрещен" какого хуя спрашивается ? бот на питоне а вот в браузере все работает страницы отдают свое 200 и html

/dev
13.09.2017
16:34:24
как грамотнее всего проверить?
написать чекер, который просто проверяет, что при проходе слева направа нигде нет убываний

b0g3r
13.09.2017
16:35:59
Как ты угадал?

Voskresus
13.09.2017
16:36:11
ну 403 начало твечать

Artem
13.09.2017
16:36:12
Voskresus
13.09.2017
16:36:25
я делаю запрос на питоне просто без всяких заголовков



Aleksandr
13.09.2017
16:38:15
это плохой дизайн тестов изначально
это не так, но выбирать критерии для генерации надо правильно, конечно

он же понятно написал, он не знает функции c декоратором @pytest.fixture с таким именем

ее надо объявить и импортировать

Google
Artem
13.09.2017
16:39:29
Voskresus
13.09.2017
16:39:56
Попробуй юзерагент поменять
я не але как это в py сделать

Aleksandr
13.09.2017
16:40:26
я не але как это в py сделать
попробуй почитать, это все очень просто

Voskresus
13.09.2017
16:40:37
requests.get("avito.ru").text - как сюда передать заголовки

Artem
13.09.2017
16:40:57
Ну есть же документация

Admin
ERROR: S client not available

Artem
13.09.2017
16:41:10
Там все написано

Voskresus
13.09.2017
16:41:16
окей

Aleksandr
13.09.2017
16:41:22
можно сразу у 3 тыщ человек спросить

Voskresus
13.09.2017
16:41:51
вооот)

Проксимов
13.09.2017
16:41:56
Меняй юзер агент и бери прокси

Arnie
13.09.2017
16:42:23
можно еще не спеша

Artem
13.09.2017
16:42:55
Первая ссылка на СО с ответом

/dev
13.09.2017
16:43:08
Проверка, что работает так же, как sorted, почему нет
1) Задача ставилась явно как проверить, что алгоритмы сортировки работают, а не схожее ли поведение с sorted() 2) Лишний оверхед на вызов sorted()

Voskresus
13.09.2017
16:44:19
headers = {'Connection':'keep-alive', 'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Encoding':'gzip,deflate,sdch', 'Accept-Language':'ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4', 'Cache-Control':'max-age=0', 'Origin':'http://site.ru', 'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.0 Safari/537.36'} requests.get("avito.ru",headers).text

должно работать поидеи ?

/dev
13.09.2017
16:44:58
Проверка, что работает так же, как sorted, почему нет
ну и явно видно, что задание учебное, пусть учится сразу делать юнит-тесты правильно

Dmitry
13.09.2017
16:45:48
лучше сделать: response = requests.get('avito.ru', headers=headers) response_text = response.text

Google
Vasiliy
13.09.2017
16:46:23
ну и явно видно, что задание учебное, пусть учится сразу делать юнит-тесты правильно
тогда еще устойчивость сортировки стоит проверять, а не только отсортированность

Voskresus
13.09.2017
16:46:37
ееееее работает)

я так понимаю меня мои запросы были заблокированны кожеными ублюдками ?

а если они и эти заголовки заблокируют ?

Tony
13.09.2017
16:51:04
написать чекер, который просто проверяет, что при проходе слева направа нигде нет убываний
def sorted_list_checker(array): for i, item in enumerate(array, 1): try: if item > array[i]: return False except IndexError: pass else: return True

Artem
13.09.2017
16:51:27
а если они и эти заголовки заблокируют ?
тогда ты научишься формировать случайные заголовки и юзать прокси

/dev
13.09.2017
16:52:18
def sorted_list_checker(array): for i, item in enumerate(array, 1): try: if item > array[i]: return False except IndexError: pass else: return True
Тут ты сильно привязываешься к тому, что в массиве у тебя лежат числа от 1 до N. Лучше соседей проверять

/dev
13.09.2017
16:52:57
for l,r in zip(array, array[1:]): ...

Dmitry
13.09.2017
16:53:30
а если они и эти заголовки заблокируют ?
составь список прокси-серверов, в рамках запроса передавай случайно выбранной из этого списка через параметр proxies

Tony
13.09.2017
16:54:37
for l,r in zip(array, array[1:]): ...
он не проверит последний

/dev
13.09.2017
16:55:13
он не проверит последний
А тебе только n-1 сравнение и нужно

Tony
13.09.2017
16:55:25
почему?

[1, 2, 3, 4, 2]

Vasiliy
13.09.2017
16:55:52
Тебе нужно проверить не n элементов, а n-1 пар соседей

Страница 3750 из 9768