Кіт ✙
да просто шутканул, на самом деле
но оно сработало. Да он ёбаный волшебник!
Anonymous
Пачаны. Кто какую ide юзает? Я один на саблайме сижу?
Пучарм профешионал версион. И ничего больше не надо
Boo
Пучарм профешионал версион. И ничего больше не надо
он и стоит, проблема в winscp была, если вызывать из меню по правому клику, кода нет, если приоритет пайчарма поднять и вызывать по двойному левому, код есть
Кіт ✙
по уши
Anonymous
Я на джанге пишу, хз поддерживает ли ее ВС код
Кіт ✙
Кіт ✙
Кіт ✙
Я на джанге пишу, хз поддерживает ли ее ВС код
хер знает, я и на комьюнити что-то пытался учить
Anonymous
Блять, что не так с этими кодом? Или это какая-то обратная поддержка с 2.х?
Boo
к вопросу про winscp и пайчарм, код на секунду показывается и исчезает, чяднт?
Boo
Эм. Папка tmp временная
но раньше же работало
Tishka17
Ты сейчас туда файл скопировал или давно?
Tishka17
Я чёт запутался что ты делаешь
Boo
я видимо что то не понимаю. есть скрипты на серваке, я с удалённой машины хожу на сервак по ssh с помощью winscp, там можно настроить открытие файлов внешним редактором, поставил пайчарм. проект открывается, код виджу секунду и он пропадает
Tishka17
А.
Tishka17
Хз как это работает
Tishka17
А зачем так сложно?
Boo
а как по другому?
Boo
мне надо редачить и тестить скрипты на серваке
Anonymous
это глюки винсцп скорее всего
Anonymous
примонтируй себе какой-нибудь сетевой диск
Tishka17
это глюки винсцп скорее всего
Скорее особенность работы
Boo
интерпритатор настроил с сервака и радовался, пока не поломалось
Tishka17
Это же не продакшн? надеюсь
Tishka17
Ты в курсе, что на продакшене нельзя ничего редактировать?
Anonymous
Тестить на продакшне? Хм
Tishka17
1. Пишешь код 2. Тестируешь локально 3. Собираешь дистрибутив 4. Заливаешь на продакшн
Boo
Ты в курсе, что на продакшене нельзя ничего редактировать?
в большинстве задач наверное да, у меня там скрипты простые как валенок.
Tishka17
rm -rf /* тоже простой скрипт
Anonymous
в общем примонтируй сетевой диск по сфтп
Boo
Тестировать надо на копии БД
я так и делал, но потом им потребовались для теста актуальные данные из бд на проде и я сдался
Anonymous
и правь из любого редактора как локальные файлы
Anonymous
а по поводу актуальных данных можно настроить реплику специально для стейджинга
Tishka17
Понадобилось - накатил дамп ещё раз
Tishka17
Если ты случайно угробишь тестовую БД, ты её всегда восстановишь из дампа продовой
Tishka17
Если угробишь в проде - увы
Boo
Если угробишь в проде - увы
по хорошему да, но скрипт коннектится с рид онли правами
Tishka17
Тем ещё проще
Tishka17
По хорошему ещё на санитизацию данных проводить прежде чем давать доступ к БД разработчикам :)
Evgeny
Кто как обрабатывает исключения, есть ли хороший декоратор для обвязки кода, чтоб не писать кучу except, допустим передал последовательность классов исключений и они срабатывают по порядку, в зависимости от ситуации
Anonymous
проще написать логику которая тебе нужна
Anonymous
таких поделий тысячи
Кіт ✙
что с тобой?
Anonymous
т.е. пиши свой декоратор лучше
Anonymous
если вопросы возникнут - тут ответят по возможности
Evgeny
хотел увидеть реализации пока не писал свой
Evgeny
except OperationalError as e: print({"error": f"Unable to connect! - {e}"}) except DatabaseError as e: print({"error": f"Database error! - {e}"}) except Exception as e: print({"error": f"Error! - {e}"})
Tishka17
Эм
Evgeny
это стандартная обработка
Evgeny
хотелось бы уйти от этого
Tishka17
Это херня какая-то, а не обработка
Tishka17
Особенно последний пункт
Anonymous
ты можешь общий класс предок поймать
Skarn
Просто оборачиваешь в try except
Evgeny
пока тут отладка идет, понятно что там будут отсылка писем и sentry
Skarn
Или в чем проблема?
Anonymous
парень, тебе нормально?
def content(self, path): path = path[1:] if else path return os.listdir(path) Нахрена тут self?
Skarn
def content(self, path): path = path[1:] if else path return os.listdir(path) Нахрена тут self?
Не нужен, это статик методом может быть
Anonymous
а вообще не лови эксепшны , с которыми не знаешь что делать
Anonymous
лови в декораторе общий класс предок целевых эксепшнов, а остальные дальше пропускай
Кіт ✙
def content(self, path): path = path[1:] if else path return os.listdir(path) Нахрена тут self?
эта функция находится в классе, а в классе нужно указывать обязательный аргумент self
Skarn
а вообще не лови эксепшны , с которыми не знаешь что делать
При работе с плохо документированными api годый except иногда оправдан
Кіт ✙
или ты не знал?
Skarn
Над методом его пишешь и self больше не нужен