requests-transport
This commit is contained in:
parent
120208a621
commit
bbc5dc441d
|
@ -1,20 +1,15 @@
|
||||||
import requests
|
import httpx
|
||||||
|
|
||||||
from settings import MAILGUN_API_KEY, MAILGUN_DOMAIN
|
from settings import MAILGUN_API_KEY, MAILGUN_DOMAIN
|
||||||
|
|
||||||
api_url = "https://api.mailgun.net/v3/%s/messages" % (MAILGUN_DOMAIN or 'discours.io')
|
api_url = f"https://api.mailgun.net/v3/{MAILGUN_DOMAIN or 'discours.io'}/messages"
|
||||||
noreply = "discours.io <noreply@%s>" % (MAILGUN_DOMAIN or 'discours.io')
|
noreply = f"discours.io <noreply@{MAILGUN_DOMAIN or 'discours.io'}>"
|
||||||
lang_subject = {
|
lang_subject = {"ru": "Подтверждение почты", "en": "Confirm email"}
|
||||||
"ru": "Подтверждение почты",
|
|
||||||
"en": "Confirm email"
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
async def send_auth_email(user, token, lang="ru", template="email_confirmation"):
|
async def send_auth_email(user, token, lang="ru", template="email_confirmation"):
|
||||||
try:
|
try:
|
||||||
to = "%s <%s>" % (user.name, user.email)
|
to = f"{user.name} <{user.email}>"
|
||||||
if lang not in ['ru', 'en']:
|
if lang not in ["ru", "en"]:
|
||||||
lang = 'ru'
|
lang = "ru"
|
||||||
subject = lang_subject.get(lang, lang_subject["en"])
|
subject = lang_subject.get(lang, lang_subject["en"])
|
||||||
template = template + "_" + lang
|
template = template + "_" + lang
|
||||||
payload = {
|
payload = {
|
||||||
|
@ -22,16 +17,11 @@ async def send_auth_email(user, token, lang="ru", template="email_confirmation")
|
||||||
"to": to,
|
"to": to,
|
||||||
"subject": subject,
|
"subject": subject,
|
||||||
"template": template,
|
"template": template,
|
||||||
"h:X-Mailgun-Variables": "{ \"token\": \"%s\" }" % token
|
"h:X-Mailgun-Variables": f'{{ "token": "{token}" }}',
|
||||||
}
|
}
|
||||||
print('[auth.email] payload: %r' % payload)
|
print(f"[auth.email] payload: {payload}")
|
||||||
# debug
|
async with httpx.AsyncClient() as client:
|
||||||
# print('http://localhost:3000/?modal=auth&mode=confirm-email&token=%s' % token)
|
response = await client.post(api_url, auth=("api", MAILGUN_API_KEY), data=payload)
|
||||||
response = requests.post(
|
response.raise_for_status()
|
||||||
api_url,
|
|
||||||
auth=("api", MAILGUN_API_KEY),
|
|
||||||
data=payload
|
|
||||||
)
|
|
||||||
response.raise_for_status()
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(e)
|
print(e)
|
||||||
|
|
|
@ -4,7 +4,7 @@ from datetime import timedelta, timezone, datetime
|
||||||
from os import environ, path
|
from os import environ, path
|
||||||
|
|
||||||
from gql import Client, gql
|
from gql import Client, gql
|
||||||
from gql.transport.httpx import HTTPXAsyncTransport
|
from gql.transport.requests import RequestsHTTPTransport
|
||||||
|
|
||||||
from services.db import local_session
|
from services.db import local_session
|
||||||
from orm import Topic
|
from orm import Topic
|
||||||
|
@ -46,7 +46,7 @@ token = environ.get("ACKEE_TOKEN", "")
|
||||||
def create_client(headers=None, schema=None):
|
def create_client(headers=None, schema=None):
|
||||||
return Client(
|
return Client(
|
||||||
schema=schema,
|
schema=schema,
|
||||||
transport=HTTPXAsyncTransport(
|
transport=RequestsHTTPTransport(
|
||||||
url="https://ackee.discours.io/api",
|
url="https://ackee.discours.io/api",
|
||||||
headers=headers,
|
headers=headers,
|
||||||
),
|
),
|
||||||
|
|
Loading…
Reference in New Issue
Block a user