Aleksandr
Алексей
Напиши мне в личку) также 3 месяца изучаю python можем что нибудь попробовать сделать
𝙨𝙧
Кто нибудь знает как сделать что-то типа прокси сервера через советы. В UE5 есть udp поток. Задача этот поток перенаправить другим клиентам я написал в пайтоне сервер для прослушивания соединения и пересылки всем клиентам. Но почему то не работает ничего пакеты пересылаются но в игре не показывается другой клиент
𝙨𝙧
Как вообще сделать так чтобы клиент подключился к сокету и уже был от этой сети. Задача сделать что-то вроде Radmin
𝙨𝙧
import socket
import cbor
addr = '0.0.0.0'
port = 7777
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
udp_socket.bind((addr, port))
players = []
while True:
data, addr = udp_socket.recvfrom(1024)
print(data)
print(f"Отправлено {addr} {data}")
print(f"Получено от {addr} {data}")
if addr not in players:
players.append(addr)
print(players)
# Отправляем данные каждому клиенту в списке
for player in players:
if player != addr: # Не отправляем данные обратно тому, кто отправил их
send_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
send_socket.sendto(data, player)
print(data, type(data))
print(f"Отправлено к {player}")
ƙαƙƚყƈ
как сделать ежедневную прибавку монет с прокачкой в телеграм боте?
Типо можно купить за определенное колво монеток и оно будет приносить пассивно доход
Loork
Всем привет. Столкнулся с проблемой с Celery в телеграмм боте. У меня есть функция, которая всегда 24/7 должна читать сообщения из гугл почты. Для этого я использую Celery. У меня почему-то Celery не видит таску при команде celery -A celery_app worker -l info --pool solo
Loork
Loork
Nik
Всем привет из Сшарпа, по долгу службы нужно использовать Питон, решил зайти на огонек. Вызываю питон из шарпа
ㅤㅤㅤㅤㅤ
telethon.errors.rpcerrorlist.ChannelInvalidError: Invalid channel object. Make sure to pass the right types, for instance making sure that the request is designed for channels or
otherwise look for a different one more suited (caused by JoinChannelRequest)
помогите
ㅤㅤㅤㅤㅤ
sqlite3.OperationalError: attempt to write a readonly database
как исправить
Tim
ㅤㅤㅤㅤㅤ
Сергей
Сергей
Сергей
Сергей
IMAP (Internet Message Access Protocol) и SMTP (Simple Mail Transfer Protocol) - это два различных протокола, используемых для разных целей в электронной почте.
IMAP используется для получения и управления электронной почтой непосредственно на почтовом сервере. Это позволяет пользователям подключаться к своему почтовому ящику с любого устройства и видеть одни и те же сообщения, так как они хранятся на сервере. IMAP поддерживает работу с письмами в режиме онлайн, а также синхронизацию состояния сообщений (например, прочитано/не прочитано, помечено звездочкой и т.д.) между разными устройствами.
SMTP, с другой стороны, используется для отправки электронных писем. Когда вы отправляете письмо, ваш почтовый клиент использует SMTP для передачи сообщения на почтовый сервер, который затем отправляет его на почтовый сервер получателя. SMTP работает только в одну сторону - для отправки сообщений, и не предназначен для их получения или управления.
Вкратце:
- IMAP используется для чтения и управления письмами, которые хранятся на почтовом сервере.
- SMTP используется для отправки писем на почтовый сервер и дальнейшей их доставки получателям.
Loork
IMAP (Internet Message Access Protocol) и SMTP (Simple Mail Transfer Protocol) - это два различных протокола, используемых для разных целей в электронной почте.
IMAP используется для получения и управления электронной почтой непосредственно на почтовом сервере. Это позволяет пользователям подключаться к своему почтовому ящику с любого устройства и видеть одни и те же сообщения, так как они хранятся на сервере. IMAP поддерживает работу с письмами в режиме онлайн, а также синхронизацию состояния сообщений (например, прочитано/не прочитано, помечено звездочкой и т.д.) между разными устройствами.
SMTP, с другой стороны, используется для отправки электронных писем. Когда вы отправляете письмо, ваш почтовый клиент использует SMTP для передачи сообщения на почтовый сервер, который затем отправляет его на почтовый сервер получателя. SMTP работает только в одну сторону - для отправки сообщений, и не предназначен для их получения или управления.
Вкратце:
- IMAP используется для чтения и управления письмами, которые хранятся на почтовом сервере.
- SMTP используется для отправки писем на почтовый сервер и дальнейшей их доставки получателям.
понял
Tim
А там вроде у Гугла ещё надо разрешать доступ к почте по имап
Gleb
нужна помощь. пытаюсь в DRF собрать новый queryset по получаемому queryset'у. Есть две модели, Session берется из built-in джанго.
У меня есть вот такая вот функция, но есть проблема, она заключается в том, что я получаю повторяющиеся записи, а мне хочется, чтобы было что-то вроде distinct только по полю title из таблицы Product.
def get_suggestion(queryset, session: Session) -> dict:
suggestions = {"first_five": queryset[:5]}
qs = ( queryset.prefetch_related(
"searchhistory_set" ).filter(searchhistory__session_id=session.session_key).order_by("-searchhistory__timestamp")
)
Я пробовал добавлять values('title).distinct(), но не помогло.
Какие у вас есть идеи, подскажите, пожалуйста?
Aleksandr
нужна помощь. пытаюсь в DRF собрать новый queryset по получаемому queryset'у. Есть две модели, Session берется из built-in джанго.
У меня есть вот такая вот функция, но есть проблема, она заключается в том, что я получаю повторяющиеся записи, а мне хочется, чтобы было что-то вроде distinct только по полю title из таблицы Product.
def get_suggestion(queryset, session: Session) -> dict:
suggestions = {"first_five": queryset[:5]}
qs = ( queryset.prefetch_related(
"searchhistory_set" ).filter(searchhistory__session_id=session.session_key).order_by("-searchhistory__timestamp")
)
Я пробовал добавлять values('title).distinct(), но не помогло.
Какие у вас есть идеи, подскажите, пожалуйста?
так у тебя в описании столбца стоит unique=True, откуда там дубликаты возьмутся? он должен индекс создать уникальный по идее на столбец. глянь в схеме таблицы
Gleb
Gleb
ибо если делать просто через m2m поле без through параметра, то записи добавляются в set()
Aleksandr
иди от обратного тогда. составь SQL запрос выполняющий то что тебе нужно. потом уже по нему - через ORM
Gleb
Gleb
Gleb
сырой запрос проще написать, чем через ОРМ, если честно
Aleksandr
еще бы
Aleksandr
но поддерживать потом в среднем сложнее
Gleb
как всегда, свои нюансы
Gleb
не могу найти примеры актуальных проектов или просто литературу, где можно про орм дрф почитать, кроме поваренной книги, доки и старых постов на различных форумах
Gleb
Aleksandr
Aleksandr
или чё еще нужно то не пойму) и так хочешь - пироженное, хочешь - мороженное вон. чтоб код написал кто то готовый
Gleb
Aleksandr
гуглится за 30 секунд https://builtwithdjango.com/projects/
Хасбулат
Привет. Кто-нибудь может подсказать best-practice по деплою python-приложения в кубер. Сейчас docker-образ со всеми зависимостями весит больше 500МБ. Может, есть варианты, как размер можно уменьшить? 500МБ на 1 под кажется слишком много
牙尸凵长
Хасбулат
пытался прислать свой докерфайл в блоке код, он удаляется.
В общем я использую базовый образ python:3.11.9-slim, alpine не могу использовать, тк зависимости не собираются.
при установке использую флаги no-cache
Хасбулат
Я не знаю, может есть механизм readonly шеринга динамических библиотек для Python в докере или кубере, потому что они занимают основное место.
Образ python:3.11.9-slim весит около 100МБ, остальное – это как раз дин. либы
Nik
✋
Anatoliy
Подскажите пожалуйста реализацию task queue над postgres и asyncpg. Не гуглится у меня пока чего-то с больше, чем 7 звёздочками
Loork
Всем привет. У меня есть функция для чтения письма из гугл почты
def check_email_for_subject():
# Подключаемся к почтовому ящику
mail = imaplib.IMAP4_SSL('imap.gmail.com', 993)
mail.login(email_address, password)
mail.select('inbox')
# Ищем письма с указанной темой
result, data = mail.search(None, f'(SUBJECT "{email_subject}")')
email_body = None
if result == 'OK':
for num in data[0].split():
result, data = mail.fetch(num, '(RFC822)')
raw_email = data[0][1]
msg = email.message_from_bytes(raw_email)
# Получаем тело письма
if msg.get_content_maintype() == 'text':
email_body = msg.get_payload()
else:
for part in msg.walk():
if part.get_content_maintype() == 'text':
email_body = part.get_payload()
mail.close()
mail.logout()
return email_body
в строке result, data = mail.search(None, f'(SUBJECT "{email_subject}")') идёт поиск письма с темой "Создать документ". При запуске возникает ошибка " File "C:\Users\RRM\AppData\Local\Programs\Python\Python312\Lib\imaplib.py", line 987, in _command
arg = bytes(arg, self._encoding)
^^^^^^^^^^^^^^^^^^^^^^^^^^
UnicodeEncodeError: 'ascii' codec can't encode characters in position 10-23: ordinal not in range(128)"
Я так понял, что библиотеки не нравится, что тема письма на русском языке. Если указать на английском, то ошибки не возникает. Как мне сделать так, чтобы код мог искать письма с темой на русском языке? Может есть другая библиотека для чтения и поиска писем? Или можно какие-то параметры указать?
Иван
Всем привет. У меня есть функция для чтения письма из гугл почты
def check_email_for_subject():
# Подключаемся к почтовому ящику
mail = imaplib.IMAP4_SSL('imap.gmail.com', 993)
mail.login(email_address, password)
mail.select('inbox')
# Ищем письма с указанной темой
result, data = mail.search(None, f'(SUBJECT "{email_subject}")')
email_body = None
if result == 'OK':
for num in data[0].split():
result, data = mail.fetch(num, '(RFC822)')
raw_email = data[0][1]
msg = email.message_from_bytes(raw_email)
# Получаем тело письма
if msg.get_content_maintype() == 'text':
email_body = msg.get_payload()
else:
for part in msg.walk():
if part.get_content_maintype() == 'text':
email_body = part.get_payload()
mail.close()
mail.logout()
return email_body
в строке result, data = mail.search(None, f'(SUBJECT "{email_subject}")') идёт поиск письма с темой "Создать документ". При запуске возникает ошибка " File "C:\Users\RRM\AppData\Local\Programs\Python\Python312\Lib\imaplib.py", line 987, in _command
arg = bytes(arg, self._encoding)
^^^^^^^^^^^^^^^^^^^^^^^^^^
UnicodeEncodeError: 'ascii' codec can't encode characters in position 10-23: ordinal not in range(128)"
Я так понял, что библиотеки не нравится, что тема письма на русском языке. Если указать на английском, то ошибки не возникает. Как мне сделать так, чтобы код мог искать письма с темой на русском языке? Может есть другая библиотека для чтения и поиска писем? Или можно какие-то параметры указать?
f'(SUBJECT "{email_subject}")'.encode('utf-8') ?
Loork
Прописал, но теперь возникает другая ошибка " File "C:\Users\RRM\AppData\Local\Programs\Python\Python312\Lib\imaplib.py", line 1055, in _command_complete
raise self.error('%s command error: %s %s' % (name, typ, data))
imaplib.IMAP4.error: SEARCH command error: BAD [b'Could not parse command']"
Max
Max
Max
Каким образом можно описать проблему и выслать код?
Aleksandr
Jasur Abdumavlonov
good
Argishti
всем привет кто шарит за деплои проектов на python django
Сергей
Всем привет. У меня есть функция для чтения письма из гугл почты
def check_email_for_subject():
# Подключаемся к почтовому ящику
mail = imaplib.IMAP4_SSL('imap.gmail.com', 993)
mail.login(email_address, password)
mail.select('inbox')
# Ищем письма с указанной темой
result, data = mail.search(None, f'(SUBJECT "{email_subject}")')
email_body = None
if result == 'OK':
for num in data[0].split():
result, data = mail.fetch(num, '(RFC822)')
raw_email = data[0][1]
msg = email.message_from_bytes(raw_email)
# Получаем тело письма
if msg.get_content_maintype() == 'text':
email_body = msg.get_payload()
else:
for part in msg.walk():
if part.get_content_maintype() == 'text':
email_body = part.get_payload()
mail.close()
mail.logout()
return email_body
в строке result, data = mail.search(None, f'(SUBJECT "{email_subject}")') идёт поиск письма с темой "Создать документ". При запуске возникает ошибка " File "C:\Users\RRM\AppData\Local\Programs\Python\Python312\Lib\imaplib.py", line 987, in _command
arg = bytes(arg, self._encoding)
^^^^^^^^^^^^^^^^^^^^^^^^^^
UnicodeEncodeError: 'ascii' codec can't encode characters in position 10-23: ordinal not in range(128)"
Я так понял, что библиотеки не нравится, что тема письма на русском языке. Если указать на английском, то ошибки не возникает. Как мне сделать так, чтобы код мог искать письма с темой на русском языке? Может есть другая библиотека для чтения и поиска писем? Или можно какие-то параметры указать?
Чтобы ваш код корректно искал письма на русском языке, вам нужно убедиться, что строка с темой письма (email_subject) корректно обрабатывается и передается в запрос к серверу. В Python 3 все строки по умолчанию в кодировке UTF-8, но для IMAP запроса нужно использовать правильную кодировку. Вот пример того, как можно модифицировать вашу функцию:
import imaplib
import email
from email.header import decode_header
def check_email_for_subject(email_address, password, email_subject):
# Подключаемся к почтовому ящику
mail = imaplib.IMAP4_SSL('imap.gmail.com', 993)
mail.login(email_address, password)
mail.select('inbox')
# Кодируем тему письма в UTF-8 и оборачиваем в двойные кавычки
subject = f'"{email_subject.encode("utf-8").decode()}"'
# Ищем письма с указанной темой
result, data = mail.search(None, f'(SUBJECT {subject})')
email_body = None
if result == 'OK':
for num in data[0].split():
result, data = mail.fetch(num, '(RFC822)')
raw_email = data[0][1]
msg = email.message_from_bytes(raw_email)
# Получаем тело письма
if msg.get_content_maintype() == 'text':
email_body = msg.get_payload(decode=True).decode()
else:
for part in msg.walk():
if part.get_content_maintype() == 'text':
email_body = part.get_payload(decode=True).decode()
mail.close()
mail.logout()
return email_body
В этом примере я добавил параметры email_address, password и email_subject в определение функции, чтобы вы могли передать их при вызове функции. Также я добавил кодирование темы письма в UTF-8 и декодирование содержимого письма, чтобы обеспечить корректное отображение русских символов.
Loork
Чтобы ваш код корректно искал письма на русском языке, вам нужно убедиться, что строка с темой письма (email_subject) корректно обрабатывается и передается в запрос к серверу. В Python 3 все строки по умолчанию в кодировке UTF-8, но для IMAP запроса нужно использовать правильную кодировку. Вот пример того, как можно модифицировать вашу функцию:
import imaplib
import email
from email.header import decode_header
def check_email_for_subject(email_address, password, email_subject):
# Подключаемся к почтовому ящику
mail = imaplib.IMAP4_SSL('imap.gmail.com', 993)
mail.login(email_address, password)
mail.select('inbox')
# Кодируем тему письма в UTF-8 и оборачиваем в двойные кавычки
subject = f'"{email_subject.encode("utf-8").decode()}"'
# Ищем письма с указанной темой
result, data = mail.search(None, f'(SUBJECT {subject})')
email_body = None
if result == 'OK':
for num in data[0].split():
result, data = mail.fetch(num, '(RFC822)')
raw_email = data[0][1]
msg = email.message_from_bytes(raw_email)
# Получаем тело письма
if msg.get_content_maintype() == 'text':
email_body = msg.get_payload(decode=True).decode()
else:
for part in msg.walk():
if part.get_content_maintype() == 'text':
email_body = part.get_payload(decode=True).decode()
mail.close()
mail.logout()
return email_body
В этом примере я добавил параметры email_address, password и email_subject в определение функции, чтобы вы могли передать их при вызове функции. Также я добавил кодирование темы письма в UTF-8 и декодирование содержимого письма, чтобы обеспечить корректное отображение русских символов.
Не помогло(
Unit
множества в питоне реализованы на основе структуре хеш-сет или на основе хеш-таблица как и словари?
Unit
Просто некоторые источники утверждают, что в питоне set - это словарь, у которого все значения None.
Oleksandr
ㅤㅤㅤㅤㅤ
привет всем
мне нужно получить Page Public Content.
для своего приложения
но я не могу найти его
как мне его получить
Oleksandr
Oleksandr
Самая простая реализация сета будет
hashtable[key] = True
Loork
Всем привет. Решил изучить pytest. Возникает ошибка "ERROR: not found: D:\pythonProject\tests\test_builder_car.py::test_builder_car
(no match in any of [<Module test_builder_car.py>])" я так понял, pytest не видит функцию для теста, хотя на скрине видно, что она существует. Через консоль пробовал запускать и через зелёный указатель, но результат тот же.
Unit
Что означает сделать ИИ на ПК?
🐍Yaroo🐍
хаваю
Legolas
Legolas
почему пайтон не дает ошибку и показывает 0 когда сделаю принт sys.maxsize ?
Vladimir
А раньше выдавало ошибку?
Vladimir
Legolas
Vladimir
пиши свою проблему, ошибку, что уже пробовал
Vladimir
какой фреймворк и прочее, версия