unfinished api's (help is welcome)
This commit is contained in:
109
unfinished/openprompt/mail.py
Normal file
109
unfinished/openprompt/mail.py
Normal file
@@ -0,0 +1,109 @@
|
||||
import requests
|
||||
import email
|
||||
|
||||
class MailClient:
|
||||
|
||||
def __init__(self):
|
||||
self.username = None
|
||||
self.token = None
|
||||
self.raw = None
|
||||
self.mailids = None
|
||||
self.mails = None
|
||||
self.mail = None
|
||||
|
||||
def create(self, force=False):
|
||||
headers = {
|
||||
'accept': 'application/json',
|
||||
}
|
||||
|
||||
if self.username:
|
||||
pass
|
||||
else:
|
||||
self.response = requests.put(
|
||||
'https://www.developermail.com/api/v1/mailbox', headers=headers)
|
||||
self.response = self.response.json()
|
||||
self.username = self.response['result']['name']
|
||||
self.token = self.response['result']['token']
|
||||
|
||||
return {'username': self.username, 'token': self.token}
|
||||
|
||||
def destroy(self):
|
||||
headers = {
|
||||
'accept': 'application/json',
|
||||
'X-MailboxToken': self.token,
|
||||
}
|
||||
self.response = requests.delete(
|
||||
f'https://www.developermail.com/api/v1/mailbox/{self.username}', headers=headers)
|
||||
self.response = self.response.json()
|
||||
self.username = None
|
||||
self.token = None
|
||||
return self.response
|
||||
|
||||
def newtoken(self):
|
||||
headers = {
|
||||
'accept': 'application/json',
|
||||
'X-MailboxToken': self.token,
|
||||
}
|
||||
self.response = requests.put(
|
||||
f'https://www.developermail.com/api/v1/mailbox/{self.username}/token', headers=headers)
|
||||
self.response = self.response.json()
|
||||
self.token = self.response['result']['token']
|
||||
return {'username': self.username, 'token': self.token}
|
||||
|
||||
def getmailids(self):
|
||||
headers = {
|
||||
'accept': 'application/json',
|
||||
'X-MailboxToken': self.token,
|
||||
}
|
||||
|
||||
self.response = requests.get(
|
||||
f'https://www.developermail.com/api/v1/mailbox/{self.username}', headers=headers)
|
||||
self.response = self.response.json()
|
||||
self.mailids = self.response['result']
|
||||
return self.mailids
|
||||
|
||||
def getmails(self, mailids: list = None):
|
||||
headers = {
|
||||
'accept': 'application/json',
|
||||
'X-MailboxToken': self.token,
|
||||
'Content-Type': 'application/json',
|
||||
}
|
||||
|
||||
if mailids is None:
|
||||
mailids = self.mailids
|
||||
|
||||
data = str(mailids)
|
||||
|
||||
self.response = requests.post(
|
||||
f'https://www.developermail.com/api/v1/mailbox/{self.username}/messages', headers=headers, data=data)
|
||||
self.response = self.response.json()
|
||||
self.mails = self.response['result']
|
||||
return self.mails
|
||||
|
||||
def getmail(self, mailid: str, raw=False):
|
||||
headers = {
|
||||
'accept': 'application/json',
|
||||
'X-MailboxToken': self.token,
|
||||
}
|
||||
self.response = requests.get(
|
||||
f'https://www.developermail.com/api/v1/mailbox/{self.username}/messages/{mailid}', headers=headers)
|
||||
self.response = self.response.json()
|
||||
self.mail = self.response['result']
|
||||
if raw is False:
|
||||
self.mail = email.message_from_string(self.mail)
|
||||
return self.mail
|
||||
|
||||
def delmail(self, mailid: str):
|
||||
headers = {
|
||||
'accept': 'application/json',
|
||||
'X-MailboxToken': self.token,
|
||||
}
|
||||
self.response = requests.delete(
|
||||
f'https://www.developermail.com/api/v1/mailbox/{self.username}/messages/{mailid}', headers=headers)
|
||||
self.response = self.response.json()
|
||||
return self.response
|
||||
|
||||
|
||||
client = MailClient()
|
||||
client.newtoken()
|
||||
print(client.getmails())
|
||||
Reference in New Issue
Block a user