mirror of
https://github.com/avatao-content/test-tutorial-framework
synced 2024-12-05 02:11:32 +00:00
Fix webservice
This commit is contained in:
parent
9d24f797df
commit
b60dbc8471
29
solvable/src/webservice/tfw_uplink.py
Normal file
29
solvable/src/webservice/tfw_uplink.py
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
from os import mkfifo, remove
|
||||||
|
from os.path import join
|
||||||
|
from contextlib import suppress
|
||||||
|
from json import dumps
|
||||||
|
|
||||||
|
from pipe_io import PipeWriter
|
||||||
|
|
||||||
|
TFW_PIPES_DIR = '/run/tfw'
|
||||||
|
|
||||||
|
|
||||||
|
class TFWUplink:
|
||||||
|
def __init__(self):
|
||||||
|
self._send_pipe = join(TFW_PIPES_DIR, 'webservice_send')
|
||||||
|
with suppress(FileExistsError):
|
||||||
|
mkfifo(self._send_pipe)
|
||||||
|
self._pipe_writer = PipeWriter(self._send_pipe)
|
||||||
|
|
||||||
|
def send_message(self, message):
|
||||||
|
self._pipe_writer.send_message(dumps(message).encode())
|
||||||
|
|
||||||
|
def __enter__(self):
|
||||||
|
return self
|
||||||
|
|
||||||
|
def __exit__(self, type_, value, traceback):
|
||||||
|
self.close()
|
||||||
|
|
||||||
|
def close(self):
|
||||||
|
self._pipe_writer.close()
|
||||||
|
remove(self._send_pipe)
|
@ -1,4 +1,4 @@
|
|||||||
from pipe_io import PipeWriter
|
from tfw_uplink import TFWUplink
|
||||||
from crypto import PasswordHasher
|
from crypto import PasswordHasher
|
||||||
from model import User
|
from model import User
|
||||||
from errors import InvalidCredentialsError, UserExistsError
|
from errors import InvalidCredentialsError, UserExistsError
|
||||||
@ -9,8 +9,14 @@ class UserOps:
|
|||||||
self.username = username
|
self.username = username
|
||||||
self.password = password
|
self.password = password
|
||||||
self.db_session = db_session
|
self.db_session = db_session
|
||||||
self.pipe = PipeWriter('/tmp/tfw_bot_send')
|
self._uplink = TFWUplink()
|
||||||
self.log = lambda message: self.pipe.send_message(message.encode()+b"\n")
|
|
||||||
|
def log(self, message):
|
||||||
|
self._uplink.send_message({
|
||||||
|
'key': 'message.send',
|
||||||
|
'originator': 'webservice',
|
||||||
|
'message': message
|
||||||
|
})
|
||||||
|
|
||||||
def authenticate(self):
|
def authenticate(self):
|
||||||
"""
|
"""
|
||||||
|
Loading…
Reference in New Issue
Block a user