@ru_python

Страница 8829 из 9768
Tigran
24.04.2019
19:14:33
ну я догадался, да

Roman
24.04.2019
19:14:36
Не улучшает, кстати. У тебя в хедере ебашится импорт какой-то лузлы. Сам файл на несколько тысяч строк. Создается ложное впечатление, что енто что-то распространенное и часто юзабельное. А по факту там один вызов где-то. Так быть не должно
Вот и вопрос с этим возник - использую два класса-обертки над threading - практически эта библиотека используется только в 2-х методах класса (создание и остановка). Описываю импорт глобально, но чую, что нужно в описание классов перенести

Tigran
24.04.2019
19:15:37
Что можете о коде в этом боте? https://github.com/MaxiFilippov/news_bot
А ещё повсеместные import * очень затрудняют чтение

Google
Марк
24.04.2019
19:17:29
Имхо, лучше подозвать коллегу, который не знаком с кодом и спросить, что легче читается

Roman
24.04.2019
19:18:42
еще вопрос, как отлавливаете выход из скрипта, вызванный извне? (особенно Ctrl + Z интересует) (мне нужно грамотно треды останавливать, чтобы потом не висели в системе)

ivan
24.04.2019
19:21:12
index.py - главный файл
1. Entrypoint обычно лучше именовать main или как-то так 2. global не оч хорошо в коде юзать 3. Много лишних комментариев там, где они не нужны. Не нужно писать над функцией, что она делает. В идеале, по названию и коду должно быть понятно

Whore Amazing
24.04.2019
19:21:41
Кто в курсе, в селери id задачи это строка?

Написано uuid, но я чёт не уверен какой тип именно это означает

Tishka17
24.04.2019
19:21:48
Енто с какого перепугу?
С файлом такого размера сложно уже работать

Roman
24.04.2019
19:22:07


Марк
24.04.2019
19:22:56
С файлом такого размера сложно уже работать
Аргументы будуть? А то пока неоч. Начать можно с простого - пайчарм облегчает работу. А закончить фразой - сишники поржут.

ivan
24.04.2019
19:24:19
index.py - главный файл
Вот эта вся функция выглядит очень не очень https://github.com/MaxiFilippov/news_bot/blob/master/change_all_settings.py#L25

Google
ivan
24.04.2019
19:25:45
Лучше избегать больших функций, которые мало делают

Aragaer
24.04.2019
19:26:40
ориентир, который я где-то уцепил и мне он очень понравился

если файл больше 200 строк, то в нем наверно овердохрена всего и надо бы начать делить

Nikolay
24.04.2019
19:27:06
Брехня

Aragaer
24.04.2019
19:27:09
200. Двести

Tigran
24.04.2019
19:27:33
ну это не про го, конечно)

Whore Amazing
24.04.2019
19:27:45
Я и в проектах на 1к+ строк нормально ориентируюсь. Даже спустя годы.

Aragaer
24.04.2019
19:27:46
пожалуй да, не про го

Whore Amazing
24.04.2019
19:27:54
На один файл, да.

Aragaer
24.04.2019
19:28:10
я плохо ориентируюсь, но у меня вообще с памятью и внимательностью плохо

200 строк ок

кстати, я на жаве такого ограничения старался придерживаться

Егор
24.04.2019
19:28:46
200 строк файл?

Whore Amazing
24.04.2019
19:28:53
Если нормально и логично разбивать на блоки кода, то все читаемо.

Марк
24.04.2019
19:29:10
Ташке ща контрольный в голову засажу: uvloop в основном файле, loop.c, содержит 163 000 строк.

Aragaer
24.04.2019
19:29:11
да. В каждом файле проекта стараться иметь не более 200 строк

Tishka17
24.04.2019
19:29:39
Аргументы будуть? А то пока неоч. Начать можно с простого - пайчарм облегчает работу. А закончить фразой - сишники поржут.
1. Больше проблем при слиянии 2. Больше риск наплодить циклических связей и вообще сильно связать код 3. Сложнее навигация и поиск нужных вещей 4. Чем более кода, тем больше вероятность нарушения single responsibility

?? Eugene
24.04.2019
19:29:45
Кстати, а зачем тебе ctrl + Z ловить?

Google
Denis
24.04.2019
19:30:36
Ну бамп :с
А гуглить пробовал?

Denis
24.04.2019
19:30:51
https://ru.m.wikipedia.org/wiki/UUID

Whore Amazing
24.04.2019
19:30:56
А гуглить пробовал?
Пробовал, ничего не нашел...

Меня интересует именно в селери который дают

Tigran
24.04.2019
19:31:46
Пробовал, ничего не нашел...
https://ru.wikipedia.org/wiki/UUID

Ссылку плиз
Это файл, генерённый из .pyx, в котором три тысячи строк.

Марк
24.04.2019
19:32:15
Ссылку плиз
Ну сам открой. У тебя же должен он в репах стоять

Tigran
24.04.2019
19:32:19
https://github.com/MagicStack/uvloop/blob/master/uvloop/loop.pyx

Tishka17
24.04.2019
19:32:28
Окей, Пикс вижу

Whore Amazing
24.04.2019
19:32:48
https://ru.wikipedia.org/wiki/UUID
То есть в любом случае байты?

Tigran
24.04.2019
19:33:10
То есть в любом случае байты?
Ставлю на шестнадцатеричную строку

Марк
24.04.2019
19:33:13
Он автосгенерированный ведь.
Ну енто не аргумент в рамках дискуссии про большие файлы

Roman
24.04.2019
19:33:23
Кстати, а зачем тебе ctrl + Z ловить?
треды висят в линуксе тогда

Whore Amazing
24.04.2019
19:33:43
?? Eugene
24.04.2019
19:33:48
треды висят в линуксе тогда
Ну да, ты же суспендишь тред

Tigran
24.04.2019
19:33:54
Это что ещё за хтонь
Ты блять вики читал, которую я тебе скинул?

Google
Whore Amazing
24.04.2019
19:33:59
Да...

Я туплю уже к вечеру слегка

Мне его крч надо в базу засунуть И я не могу понять какой тип юзать для поля

Roman
24.04.2019
19:35:17
Ну да, ты же суспендишь тред
тогда вопрос по другому: как правильнее прирывать скрипт с консоли, чтобы отловить эксепш и грамотно завершить работу скрипта (в тредах могут остаться зависшие подключения к бд)

Tigran
24.04.2019
19:36:30
Tishka17
24.04.2019
19:36:41
Хочешь, отдельный тип есть в некоторых бд

Whore Amazing
24.04.2019
19:36:44
Tigran
24.04.2019
19:37:13
хочешь, я убью коллизии, что мешают совать

(извините)

Марк
24.04.2019
19:38:27
C-z, кстати, невьебенно полезная команда, о которой часто забывают, привыкнув к С-с. Когда многопоточный демонг начинает жрать сервер, то С-с нихуя не поможет. А вот С-z - да.

Tigran
24.04.2019
19:38:59
А я тут недавно узнал о волшебной комбинации ~., которая убивает зависшее ssh-соединение

потрясающе

Aragaer
24.04.2019
19:39:32
надо сначала энтер нажать, а потом ~.

Tigran
24.04.2019
19:39:48
ну да, наверное

Roman
24.04.2019
19:40:03
https://docs.python.org/3/library/signal.html
спасибо, не работал с сигнал)

Марк
24.04.2019
19:41:39
А я недавно телегу вшатал)) Она не смогла прожевать после перезагрузки зависшие "соединения" с файлами - и падало на одном логе с json. Это было мило.

Tishka17
24.04.2019
19:42:03
Ну сам открой. У тебя же должен он в репах стоять
Ну в итоге там 3к строк и я не уверен, почему так. Как и не вижу причин считать что так надо всегда делать

Google
Evgeniy
24.04.2019
19:42:42
Всем привет. Ребят, помогите пожалуйста. Скачал pytube, сделал по инструкции, но ошибка Traceback (most recent call last): File "/mnt/0a5cb80d-673d-4f97-a33b-188bfdef8a77/videos/video.py", line 6, in <module> yt = YouTube('https://www.youtube.com/watch?v=8Egjs4bW4UA') File "/mnt/0a5cb80d-673d-4f97-a33b-188bfdef8a77/videos/env/lib/python3.7/site-packages/pytube/__main__.py", line 88, in __init__ self.prefetch_init() File "/mnt/0a5cb80d-673d-4f97-a33b-188bfdef8a77/videos/env/lib/python3.7/site-packages/pytube/__main__.py", line 96, in prefetch_init self.prefetch() File "/mnt/0a5cb80d-673d-4f97-a33b-188bfdef8a77/videos/env/lib/python3.7/site-packages/pytube/__main__.py", line 170, in prefetch age_restricted=self.age_restricted, File "/mnt/0a5cb80d-673d-4f97-a33b-188bfdef8a77/videos/env/lib/python3.7/site-packages/pytube/extract.py", line 121, in video_info_url group=0, File "/mnt/0a5cb80d-673d-4f97-a33b-188bfdef8a77/videos/env/lib/python3.7/site-packages/pytube/helpers.py", line 66, in regex_search .format(pattern=pattern), pytube.exceptions.RegexMatchError: regex pattern (\W[\'"]?t[\'"]?: ?[\'"](.+?)[\'"]) had zero matches (

Марк
24.04.2019
19:42:57
Ну в итоге там 3к строк и я не уверен, почему так. Как и не вижу причин считать что так надо всегда делать
Енто просто первый попавшийся пример. Ну открой другие приложухи крупные - там будет тоже самое. И на 20к строк без генерации.

Jim Morrison
24.04.2019
19:43:42
Есть спецы по селениуму ?

Марк
24.04.2019
19:44:22
На самом деле нет никаких объективных причин винить размер файла. Ну, если мы там не рассматриваем какие-то гигабайты. Нормально структурируемый код на то и структурируемый, чтобы не париться

Jim Morrison
24.04.2019
19:45:43
Как супом спарсить HTML, после нажатия кнопки через селениум ?

СеМёНчИк
24.04.2019
19:46:04
Чуваки, такая тема, драйвер телефона и по не работают на компе чрз юсб, что можно сделать? Извините что не в тему, очко горит

?? Eugene
24.04.2019
19:46:32
Но селениум тоже прекрасно умеет парсить

Jim Morrison
24.04.2019
19:47:18
soup = BeautifulSoup(driver.page_source)
Точно, забыл про драйвер, спасибо

Но селениум тоже прекрасно умеет парсить
Супом быстрее же, разве нет ?

?
24.04.2019
19:47:57
существует ли структурное программирование в питоне?

?? Eugene
24.04.2019
19:48:15
Супом быстрее же, разве нет ?
Черт его знает. Если использовать lxml как бэкенд - мб и быстрей, а мб и нет

Браузеры тоже не дураки пишут

?? Eugene
24.04.2019
19:52:07
существует ли структурное программирование в питоне?
Структурное - это ифы, форы. Почему нет?

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