Size: a a a

Сообщество Python Программистов

2021 January 19

44

456789 456789 in Сообщество Python Программистов
Бензофуран Гетероцикл
из-за того что соединение с телеграмом не ставится
Локально все работает скрипт отрабатывает
источник

44

456789 456789 in Сообщество Python Программистов
А хостинг выводит ошибки
источник

in Сообщество Python Программистов
456789 456789
Phytonanywhere
До свидания aiohttp
источник

in Сообщество Python Программистов
До свидания aiohttp
Ищи другой хостинг
источник

44

456789 456789 in Сообщество Python Программистов
До свидания aiohttp
Почему?
источник

44

456789 456789 in Сообщество Python Программистов
Ищи другой хостинг
Ок
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
def accepts(*types):
 def check_accepts(f):
   assert len(types) == f.__code__.co_argcount
   def new_f(*args, **kwds):
     for (a, t) in zip(args, types):
       if not isinstance(a, t):
         raise TypeError(
           "{} type(s) expexted, got {}".format(
             ', '.join(map(type, types)),
             type(a)
           ))
     return f(*args, **kwds)
   new_f.__name__ = f.__name__
   return new_f
 return check_accepts
источник

𝕬

𝕬𝖗𝖙𝖊𝖒 in Сообщество Python Программистов
Бензофуран Гетероцикл
def accepts(*types):
 def check_accepts(f):
   assert len(types) == f.__code__.co_argcount
   def new_f(*args, **kwds):
     for (a, t) in zip(args, types):
       if not isinstance(a, t):
         raise TypeError(
           "{} type(s) expexted, got {}".format(
             ', '.join(map(type, types)),
             type(a)
           ))
     return f(*args, **kwds)
   new_f.__name__ = f.__name__
   return new_f
 return check_accepts
Ты блять серьезно?)
источник

in Сообщество Python Программистов
До свидания aiohttp
А я не вру случаем? В телетоне aiohttp под капотом?
@Meamone вроде говорил про aiohttp в pythonanyware
источник

ЕО

Егор Овчинников... in Сообщество Python Программистов
Бензофуран Гетероцикл
def accepts(*types):
 def check_accepts(f):
   assert len(types) == f.__code__.co_argcount
   def new_f(*args, **kwds):
     for (a, t) in zip(args, types):
       if not isinstance(a, t):
         raise TypeError(
           "{} type(s) expexted, got {}".format(
             ', '.join(map(type, types)),
             type(a)
           ))
     return f(*args, **kwds)
   new_f.__name__ = f.__name__
   return new_f
 return check_accepts
Я правильно понял, что ты создал функцию проверки на тип данных, которая возвращает исключение, а затем через декоратор подключил ее к основной функции?(прошу прощения за возможно некорректную терминологию)?
источник

А

Айван in Сообщество Python Программистов
А я не вру случаем? В телетоне aiohttp под капотом?
@Meamone вроде говорил про aiohttp в pythonanyware
Да, нельзя, но про telethon не уверен. Вроде он только наполовину async
источник

А

Айван in Сообщество Python Программистов
Егор Овчинников
Я правильно понял, что ты создал функцию проверки на тип данных, которая возвращает исключение, а затем через декоратор подключил ее к основной функции?(прошу прощения за возможно некорректную терминологию)?
Да
источник

А

Айван in Сообщество Python Программистов
Бензофуран Гетероцикл
def accepts(*types):
 def check_accepts(f):
   assert len(types) == f.__code__.co_argcount
   def new_f(*args, **kwds):
     for (a, t) in zip(args, types):
       if not isinstance(a, t):
         raise TypeError(
           "{} type(s) expexted, got {}".format(
             ', '.join(map(type, types)),
             type(a)
           ))
     return f(*args, **kwds)
   new_f.__name__ = f.__name__
   return new_f
 return check_accepts
Мог бы тогда уж тайп хинты считывать)
источник

𝕬

𝕬𝖗𝖙𝖊𝖒 in Сообщество Python Программистов
Айван
Да, нельзя, но про telethon не уверен. Вроде он только наполовину async
На нем можно писать как синхронный, так и асинхронный код
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Бензофуран Гетероцикл
def accepts(*types):
 def check_accepts(f):
   assert len(types) == f.__code__.co_argcount
   def new_f(*args, **kwds):
     for (a, t) in zip(args, types):
       if not isinstance(a, t):
         raise TypeError(
           "{} type(s) expexted, got {}".format(
             ', '.join(map(type, types)),
             type(a)
           ))
     return f(*args, **kwds)
   new_f.__name__ = f.__name__
   return new_f
 return check_accepts
пjдправлено слегка
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Айван
Мог бы тогда уж тайп хинты считывать)
ага, как
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Айван
Мог бы тогда уж тайп хинты считывать)
есть конечно func.__annotations__, но тогда надо будет повторять всю логику питона по рассовыванию значений в переменные
источник

𝕬

𝕬𝖗𝖙𝖊𝖒 in Сообщество Python Программистов
Бензофуран Гетероцикл
есть конечно func.__annotations__, но тогда надо будет повторять всю логику питона по рассовыванию значений в переменные
Тебе не привыкать
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
𝕬𝖗𝖙𝖊𝖒
Ты блять серьезно?)
да, я скопировал код со стековерфлоу)
источник

44

456789 456789 in Сообщество Python Программистов
Вот он нашёл о
источник