From 8850c4ce5556111c73ab996aa684555bd621d02d Mon Sep 17 00:00:00 2001 From: Joseph Freeston Date: Tue, 31 Jan 2023 05:41:32 -0500 Subject: [PATCH] Support email api --- servercom/implementations/circuitpy.py | 11 ++++++++++- servercom/implementations/common.py | 17 ++++++++++++++++- servercom/implementations/cpy.py | 11 +++++++++-- 3 files changed, 35 insertions(+), 4 deletions(-) diff --git a/servercom/implementations/circuitpy.py b/servercom/implementations/circuitpy.py index 3f28542..0c7d5ba 100644 --- a/servercom/implementations/circuitpy.py +++ b/servercom/implementations/circuitpy.py @@ -366,7 +366,16 @@ def post(self, point: DataPoint) -> bool: '/data', point.dumps(), content_type = 'application/json', - headers=['User-Agent: Dude'] + headers=['User-Agent: CircuitPython, dude!'] + ).code == 201 + + def email(self, msg: Email) -> bool: + return self.request( + 'POST', + '/email', + msg.dumps(), + content_type = 'application/json', + headers=['User-Agent: CircuitPython, dude!'] ).code == 201 def __exit__(self): diff --git a/servercom/implementations/common.py b/servercom/implementations/common.py index 7ae0132..5f34ef5 100644 --- a/servercom/implementations/common.py +++ b/servercom/implementations/common.py @@ -7,7 +7,7 @@ pass from collections import namedtuple - +from json import dumps # Constants: DEGREE_SIGN = u"\xb0" @@ -44,3 +44,18 @@ class ConnectionConfig: API_PORT: int = 8081 CUBESERVER_DEFAULT_CONFIG = ConnectionConfig() + +class Email: + """Holds an email to be sent to the team""" + + def __init__(self, subject, message) -> None: + self.subject = subject + self.message = message + + def dumps(self) -> str: + return dumps( + { + 'subject': self.subject, + 'message': self.message + } + ) diff --git a/servercom/implementations/cpy.py b/servercom/implementations/cpy.py index db51236..94f8e7c 100644 --- a/servercom/implementations/cpy.py +++ b/servercom/implementations/cpy.py @@ -344,9 +344,16 @@ def post(self, point: DataPoint) -> bool: '/data', point.dumps(), content_type = 'application/json', - headers=['User-Agent: Dude'] + headers=['User-Agent: CPython, dude!'] + ).code == 201 + def email(self, msg: Email) -> bool: + return self.request( + 'POST', + '/email', + msg.dumps(), + content_type = 'application/json', + headers=['User-Agent: CPython, dude!'] ).code == 201 - def __exit__(self): if self.v: print("Closing the server connection-")