Обновить Auto lead/server.py
This commit is contained in:
+27
-23
@@ -146,33 +146,37 @@ def parse_email(subject, body_html):
|
||||
result["town"] = town
|
||||
break
|
||||
|
||||
# Формируем addition (исключая ФИО, телефон, email)
|
||||
exclusion_patterns = [
|
||||
r"^Имя:.*$",
|
||||
r"^Фамилия:.*$",
|
||||
r"^Отчество:.*$",
|
||||
r"^Телефон:.*$",
|
||||
r"^Email:.*$"
|
||||
]
|
||||
# Дата и время
|
||||
result["received_at"] = datetime.now().strftime("%d.%m %H:%M")
|
||||
|
||||
cleaned_lines = []
|
||||
for line in text_body.split('\n'):
|
||||
line = line.strip()
|
||||
if not line:
|
||||
continue
|
||||
exclude = False
|
||||
for pattern in exclusion_patterns:
|
||||
if re.match(pattern, line, re.IGNORECASE):
|
||||
exclude = True
|
||||
break
|
||||
if not exclude:
|
||||
cleaned_lines.append(line)
|
||||
# Формируем addition (исключая распарсенные данные)
|
||||
cleaned_body = text_body
|
||||
|
||||
if result["first_name"]:
|
||||
cleaned_body = cleaned_body.replace(result["first_name"], "")
|
||||
|
||||
if result["surname"]:
|
||||
cleaned_body = cleaned_body.replace(result["surname"], "")
|
||||
|
||||
if result["second_name"]:
|
||||
cleaned_body = cleaned_body.replace(result["second_name"], "")
|
||||
|
||||
if result["phone"]:
|
||||
cleaned_body = cleaned_body.replace(result["phone"], "")
|
||||
phone_clean = result["phone"].replace("+7", "").replace("+", "")
|
||||
if phone_clean:
|
||||
cleaned_body = cleaned_body.replace(phone_clean, "")
|
||||
|
||||
if result["email"]:
|
||||
cleaned_body = cleaned_body.replace(result["email"], "")
|
||||
|
||||
# Чистим лишние строки
|
||||
lines = [line.strip() for line in cleaned_body.split('\n') if line.strip()]
|
||||
cleaned_body = '\n'.join(lines)
|
||||
|
||||
cleaned_body = '\n'.join(cleaned_lines)
|
||||
addition_lines = [f"Тема: {plain_subject}", "", cleaned_body]
|
||||
result["addition"] = "\n".join(addition_lines)
|
||||
# Дата и время получения лида
|
||||
result["received_at"] = datetime.now().strftime("%d.%m %H:%M")
|
||||
|
||||
return result
|
||||
|
||||
def fetch_new_emails():
|
||||
|
||||
Reference in New Issue
Block a user