• Что делать ошибка после возрата?

    fenrir1121
    @fenrir1121 Куратор тега discord.py
    Начни с документации
    Переводим ошибку
    coroutine 'ApplicationContext.respond' was never awaited

    Смотрим на строку, которая эту ошибку вызывает
    ctx.respond(f'Вы уже использовали {us} из {kyp}',ephemeral=True)

    Сравниваем с вашим же кодом на 10 строк нижe
    await ctx.respond(embed=embedvar,ephemeral=True)
    Играем в игру "найди одно ключевое отличие", добавляем в код await

    С учетом того, что у библиотеки discord.py нет объектов ApplicationContext, похоже код использует какой-то форк и такие вещи стоит указывать.
    Ответ написан
    Комментировать
  • Стоит ли читать лутца в 2023?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Лучше Лутца ещё ничего не написали. Да и Python за годы с последнего издания сильно не поменялся.
    Ответ написан
    Комментировать
  • Как создаются встроенные функции в python?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    Встроенные функции - это функции, которые доступны "из коробки". Это значит, что не надо их писать самим. По факту это такие же функции, как и самописные.

    Если хочешь, то можешь создать функцию с таким же именем, что и встроенная. Тогда будет использоваться твоя.

    Я делаю def min():
    Что будет после двоеточия? Какая логика?


    1. Создастся объект функции
    2. Интерпретатор запишет этот объект в свое хранилище с ключом названия функции - если уже было, то перезатрет

    Дальше будет использовать уже новый объект
    Ответ написан
    3 комментария
  • Почему глючит роутер?

    @Drno
    Адресация сети, которая в ван порт приходит, случайно не совпадает с lan адресацией роутера?
    Ответ написан
    1 комментарий
  • Какой простенький менеджер паролей для оффлайна выбрать?

    Francyz
    @Francyz
    Photographer & SysAdmin
    keepass
    Ответ написан
    Комментировать
  • Какой простенький менеджер паролей для оффлайна выбрать?

    @TheBigBear
    СтарОдмины мы
    Много лет активно пользую KeePass 2
    Доволен
    Сохраняет историю изменения паролей, комментарии
    Особенно функцией автовведения
    Много полезных функций и способов защиты
    Про остальные менеджеры не скажу - не пробовал
    Ответ написан
    Комментировать
  • Почему меняется вся матрица?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Потому что в переменной dp ссылка не на матрицу из нолей, а на матрицу ссылок на один единственный ноль. Описано в каждом учебнике по Python, который мне встречался.
    Ответ написан
    Комментировать
  • Как поделиться апи с фронтэндером?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Ответ написан
    Комментировать
  • Почему не дополняются значения в return?

    Maksim_64
    @Maksim_64
    Data Analyst
    это не обычное сложение, а сложение и присваивание self._balance += amount эквивалентно. self._balance = self._balance + amount. Ты можешь потенциально использовать такую форму с := (walrus) оператором. и код будет выглядеть вот так
    return (self._balance := self._balance+ amount) скобки здесь обязательны. С обычным присваиванием так нельзя.

    Отредактировано ошибочка вышла Мы не можем использовать walrus оператор, с атрибутами экземпляра класса. Кстати, это интересно, он выдает SyntaxError: cannot use assignment expressions with attribute. Я ожидал, что это будет NameError. Вот уже удивительно, век живи век учись.
    Ответ написан
    9 комментариев
  • Как организовать хранение чувствительных данных в рамках сессии?

    @AlexVWill
    Фронт передает мне пароль

    С самого начала уже сомнительный тезис.
    Во первых "мне" это кому? Во вторых в соответствии с правилами безопасности пароль никогда не должен покидать клиентское устройство, отправлять можно только хэш пароля, а шифрование пароля должно быть исключительно на клиентском устройстве. Т.е. сам пароль ни в коем случае никуда отправлять нельзя.
    Про остальное можно почитать
    https://developers.google.com/identity/sign-in/web...
    Проблема как в рамках одной сессии хранить данные которые мне передается в первом запросе чтобы каждый раз не передавать логин и пароль обратно фронту до конца цикла?

    Сохранять токен, имеющий валидность для бэка какое то время, после его устаревания запрашивать повторно.
    Ответ написан
    4 комментария
  • Как визуализировать связи?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    В любом нормальном клиенте есть аналогичная функциональность. В DBeaver, например.
    Ответ написан
    7 комментариев
  • Как правильно завершить процесс и все дочерние подпроцессы?

    Vindicar
    @Vindicar
    RTFM!
    В-нулевых, не прячь импорты, не всегда понятно что откуда берётся.
    Во-первых, зачем тебе два уровня вложенности в процессах? Сначала делаешь дочерний процесс через multiprocessing.Process, а потом в нём запускаешь еще один процесс через Popen. Смысл? Собственно, результат предсказуем - ты жестко прибиваешь (kill()) первый дочерний процесс, и он не успевает ничего сделать со вторым.
    Во-вторых, Popen уже имеет полезные методы типа terminate(). Но тут есть тонкость - под линуксом этот метод посылает сигнал SIGTERM, на который процесс может отреагировать и спокойно завершить свою работу. Под виндой используется функция WinAPI TerminateProcess(), которая жёстко прибивает процесс, не давая ему шанса завершить работу. Будет практичнее использовать метод signal() в сочетании с константой signal.CTRL_C_EVENT - это будет эквивалентом нажатия Ctrl-C (или Ctrl-Break) в консоли дочернего процесса. Большинство процессов реагируют на это завершением работы. Но под виндой надо будет указать дополнительный параметр для Popen(), чтобы это сработало.

    Так что я бы попробовал что-то в таком духе:
    import signal
    import subprocess
    import sys
    
    args = [
        "ffmpeg", 
        "-i", f"rtsp://{camera_login}:{camera_pass}@{camera_host}:554/Streaming/channels/1/", 
        "-err_detect", "ignore_err", 
        "-reorder_queue_size", "0", 
        "-map", "0:v", "-c:v", "copy", 
        "-f", "rtsp", 
        "-rtsp_transport", "tcp", f"rtsp://{rtsp_server}:8554/live.stream"
    ]
    params = {'cwd': '.'}
    if sys.platform == 'win32':  # винда у нас особенная...
        params['creationflags'] = (
            # subprocess.DETACHED_PROCESS |  # если хочешь, чтобы ffmpeg запускался тихо и не спамил в твой stdout
            # subprocess.CREATE_NEW_CONSOLE |  # если хочешь, чтобы открывалась новая консоль для ffmpeg
            subprocess.CREATE_NEW_PROCESS_GROUP  # по докам, это требуется для нормальной работы ctrl-c
        )
    my_subprocess = Popen(args, **params)
    try:
        pass # тут работаешь с процессом
    finally:
        my_subprocess.signal(signal.CTRL_C_EVENT)  # сигналим процессу о завершении
        try:
            my_subprocess.wait(timeout=5.0)  # ждём завершения
        except subprocess.TimeoutExpired:  # процесс "задумался"
            my_subprocess.kill()  # тогда прибиваем
    Ответ написан
    Комментировать
  • Как скачать видео на YouTube с помощью python3. 9 bs4?

    Maksim_64
    @Maksim_64
    Data Analyst
    Что значит спарсит видео по ссылке? beatifulsoup парсит html и xml. Что бы качать видео c ютуба средствами python, есть специальная библиотека pytube. https://pytube.io/en/latest/
    Ответ написан
    2 комментария
  • Как восстановить сетевой интерфейс после iw wlp4s0 del?

    Можно создать новый сетевой интерфейс:
    iw dev wlp4s0 interface add wlan0 type station
    ip link set wlan0 up


    Либо просто перезагрузите устройство, после перезагрузки интерфейс должен подняться автоматически.
    Ответ написан
    Комментировать
  • Как установить Windows на Mac (M2) на уровне системы?

    vabka
    @vabka
    Токсичный шарпист
    Даже Microsoft предлагает устанавливать Windows через Parallels.
    Проблема в том, что Apple по очевидным причинам не пишет драйвера для Apple Silicon для Windows => даже если вдруг сможешь установить, то пользоваться не сможешь.
    Это было заметно ещё во времена интела, но при переходе на M1 они совсем отказались и от драйверов и от буткампа.

    https://support.microsoft.com/ru-ru/windows/вариан...

    Да и зачем тебе Windows ARM - на нём всё равно все "специфичные" программы работать не будут, либо будут работать через эмуляцию
    Ответ написан
    2 комментария
  • Как установить Windows на Mac (M2) на уровне системы?

    @Drno
    Да никак. Используйте параллелс. он отлично работает. Либо используйте другой ноутбук. Зачем покупать мак, чтобы ставить винду..
    Ответ написан
    2 комментария
  • Можно ли передать данные из одного хендлера в другой с помощью inline-кнопок?

    RimMirK
    @RimMirK
    Вроде человек. Вроде учусь. Вроде пайтону
    либо передаешь непосредственно в колбек дате, либо записываешь данные куда-ни-будь в бд, а в колбеке передаешь айди
    data:id
    accept:72
    Ответ написан
    Комментировать
  • Запустить exce с использованием LibreOffice в PHP под Docker?

    akelsey
    @akelsey
    Запустить инит контейнер перед запуском основного, который установит нужные права для outDir что бы у php были права?
    Ответ написан
    Комментировать
  • Call to a member function move() on null?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Laravel
    $request->$image
    Что хотел сказать автор?
    Ответ написан
    2 комментария
  • Болт для крепления видеокарты к корпусу?

    @Drno
    1е фото - крайний справа
    Ответ написан
    Комментировать