freechat/json-api/client-tests/config.py
shockrah 83f846640c - Removing unused .env files
Opting now for config.json files as they better interoperability between node and rust

+ Hardcoding some variables into build-db.sh
This really shouldn't be an issue however

+ using cat to dump out what table structures are being setup due to strange bugs in pipeline
2021-05-10 15:58:57 -07:00

48 lines
1.2 KiB
Python

import subprocess
import os
import json
class Server:
def __init__(self, meta: dict):
self.url = meta.get('url')
self.wsurl = meta.get('wsurl')
self.serv_name = meta.get('name')
class Admin:
def __init__(self, user: dict, server: dict):
self.id = user.get('id')
self.name = user.get('name')
self.permissions = user.get('permissions')
self.secret = user.get('secret')
self.status = user.get('status')
self.jwt = None
self.server = Server(server)
def __str__(self) -> str:
return f'{self.name}#{self.id}'
def create_admin() -> Admin :
CARGO_BIN = os.getenv('CARGO_BIN')
proc = subprocess.run(
f'cargo run --release -- -c ../config.json'.split(),
text=True, capture_output=True
)
try:
raw = json.loads(proc.stdout)
e = proc.stderr
user = raw.get('user')
server = raw.get('server')
if user is None or server is None:
print('stderr ', e)
print('stdout ', proc.stdout)
return None
else:
return Admin(user, server)
except:
print('stderr ', proc.stderr)
print('stdout ', proc.stdout)
return None