Vlad🍁
Как можно переписать это лучше? Я чет туплю
Anonymous
оффтоп, бан
Anonymous
По питону вопросов нет, мы ведём светскую беседу
Anonymous
Anonymous
Vlad🍁
Дикт
Не очень понимаю как
Vlad🍁
Anonymous
Серьезный разговорчик
ты мне
Щас скажу кому, одну минуту
Anonymous
А функция принимает одну строку, строку суешь в дикт, получаешь нужный паттерн
natrix5369_job
Серьезный разговорчик
Серьезный разговорчик
Этикета нет
Серьезный разговорчик
И проблем нет
natrix5369_job
Зачем!? О_о
Где-то в правилах питона было: должно быть просто©
natrix5369_job
И лаконично
Vlad🍁
Anonymous
Anonymous
Окей, спасибо
Можно сделать так:
def open_template(template):
if template == 'regions':
...
elif template == 'towns':
...
Anonymous
Vlad🍁
Anonymous
Anonymous
Anonymous
Если элементов фиксированное количество, и не так много
Anonymous
Меньше места, функционал тот же, расширяемость удобнее
Anonymous
Скорость меньше :)
Anonymous
Не думаю
Anonymous
И памяти дикт сжирает достаточно
Vlad🍁
Vlad🍁
Vlad🍁
Так получается?
natrix5369_job
Имхо. Лучше вынести как сказано ранее: в разные функции и будет охуенно
natrix5369_job
Это же селениум?
Vlad🍁
natrix5369_job
Там вообще под каждую страницу надо свой класс
natrix5369_job
По паттерну проектирования
Anonymous
Так ли это существенно? Питон и так жрет много памяти, это не для малопамятных
Anonymous
Anonymous
Anonymous
У тебя функция вызовется в момент создания словаря
natrix5369_job
Vlad🍁
Скрипт запускается на машине с 8\16 гб памяти, думаю ему неважно сколько памяти жрет
Anonymous
Vlad🍁
Anonymous
Одними функциями сыт не будешь
natrix5369_job
natrix5369_job
Программисты уже не те
Vlad🍁
Я не видел даже примеров селениума с классами
Vlad🍁
В селениуме?
Anonymous
natrix5369_job
Мало ли что я ставлю
Значит твои тесты будут дерьмищей,поверь. Селениум дрочу уже год
Anonymous
patterns = {
'first': lambda: click_js(args),
'second': lambda: click_js(args),
}
def open_template(type):
patterns[type]()
Anonymous
Сам паттерн вставляй, а не функцию
Anonymous
Vlad🍁
natrix5369_job
Vlad🍁
Селениум сам багованный, там если уже не пишешь time.sleep, то код оптимизированный
Vlad🍁
Я не говорю, что у меня код багованный
Vlad🍁
Спросил чисто как сделать лучше, потому что я внезапно завис и сразу начали писать про говнокод
Vlad🍁
Сильно
Anonymous
Этикет интернета
Vlad🍁
Я как раз сейчас говнокод и переписываю
Vlad🍁
Там хуже было раз в 10
Vlad🍁
Я про оптимизацию думаю, но есть разница когда у тебя скрипт еле еле отрабатывает, а когда создается один дикт с 3-мя ключами и скрипт стартует на мощной машине
Anonymous
У него тесты, плевать в принципе сколько они тратят, если время меньше 10 секунд в сумме.
Vlad🍁
Я лично не нашел ни одного примера, я бы с радостью посмотрел и если что улучшил бы код, но я НЕ видел примеры с классами и не понимаю как использовать селениум с ними
Anonymous
Главное чтобы тестировали правильно
Vlad🍁
Сделал так, но явно как-то можно еще укоротить
Sergey
Скажите, а как можно под виндовсом сделать POST-запрос, а на выходе получить жсон и перекодировать все символы юникода в читаемый вид? У меня на убунте работает команда curl --form "file=@<file_path>" http://<api_path> | json_pp, но на виндовс выводится только каша из uXXXX.
👑OGURCHIK🖤
json_decode/encode
natrix5369_job
natrix5369_job
natrix5369_job
Если ты не шаришь за ООП - то так и скажи.
С уважением, Natrix
Nureke
🤥
Без обид, если я перегнул палку
Anonymous
natrix5369_job
FTL
Ребят такая тема