| import json |
| import time |
| from typing import Dict, List, Tuple, Union |
|
|
| from .process import RealProcess, Process |
| from .process import RealUser, User |
| from .process import RealServer, Server |
|
|
|
|
| def json_response( |
| status: bool, |
| msg: str = None, |
| data: Union[Dict, List, Tuple, bool, str, int, float] = None, |
| code: int = 0, |
| args: Union[List[str], Tuple[str]] = None, |
| ): |
| if isinstance(msg, str) and args is not None: |
| for i in range(len(args)): |
| rep = '{' + str(i + 1) + '}' |
| msg = msg.replace(rep, args[i]) |
|
|
| if msg is None: |
| msg = "ok" |
|
|
| return { |
| "status": status, |
| "msg": msg, |
| "data": data, |
| "code": code, |
| "timestamp": int(time.time()) |
| } |
|
|
|
|
| def list_args(get, key) -> list: |
| list_str = get.get(key, "") |
| if not list_str: |
| return [] |
| if isinstance(list_str, (list, tuple)): |
| return list(list_str) |
| if not isinstance(list_str, str): |
| return [] |
| list_str = list_str.strip() |
| if list_str.startswith("[") and list_str.endswith("]"): |
| try: |
| res = json.loads(list_str) |
| except: |
| return [] |
| else: |
| res = [i for i in list_str.split(",") if i] |
| return res |
|
|
|
|