From 94ec3c92377c6e13f7366ec0859736cf704a58e6 Mon Sep 17 00:00:00 2001 From: "Namhyeon, Go" Date: Mon, 20 May 2024 16:19:59 +0900 Subject: [PATCH] Update smtp.py --- smtp.py | 36 ++---------------------------------- 1 file changed, 2 insertions(+), 34 deletions(-) diff --git a/smtp.py b/smtp.py index 05bad22..c6f64d4 100644 --- a/smtp.py +++ b/smtp.py @@ -7,7 +7,7 @@ # Namyheon Go (Catswords Research) # https://github.com/gnh1201/caterpillar # Created at: 2024-03-01 -# Updated at: 2024-03-12 +# Updated at: 2024-05-20 # import asyncore @@ -18,18 +18,7 @@ import requests from decouple import config from requests.auth import HTTPBasicAuth - -def extract_credentials(url): - pattern = re.compile(r'(?P\w+://)?(?P[^:/]+):(?P[^@]+)@(?P.+)') - match = pattern.match(url) - if match: - scheme = match.group('scheme') if match.group('scheme') else 'https://' - username = match.group('username') - password = match.group('password') - url = match.group('url') - return username, password, scheme + url - else: - return None, None, url +from base import extract_credentials, jsonrpc2_create_id, jsonrpc2_encode, jsonrpc2_result_encode try: smtp_host = config('SMTP_HOST', default='127.0.0.1') @@ -44,27 +33,6 @@ auth = None if _username: auth = HTTPBasicAuth(_username, _password) -def jsonrpc2_create_id(data): - return hashlib.sha1(json.dumps(data).encode(client_encoding)).hexdigest() - -def jsonrpc2_encode(method, params = None): - data = { - "jsonrpc": "2.0", - "method": method, - "params": params - } - id = jsonrpc2_create_id(data) - data['id'] = id - return (id, json.dumps(data)) - -def jsonrpc2_result_encode(result, id = ''): - data = { - "jsonrpc": "2.0", - "result": result, - "id": id - } - return json.dumps(data) - class CaterpillarSMTPServer(SMTPServer): def __init__(self, localaddr, remoteaddr): self.__class__.smtpd_hostname = "CaterpillarSMTPServer"