62 lines
1.5 KiB
Python
62 lines
1.5 KiB
Python
|
import os
|
||
|
import re
|
||
|
import traceback
|
||
|
|
||
|
from aiohttp.web_urldispatcher import StaticResource, _WebHandler, PathLike
|
||
|
from aiohttp.web_urldispatcher import Optional, _ExpectHandler
|
||
|
from aiohttp.web_urldispatcher import Path
|
||
|
from aiohttp.web_response import Response, StreamResponse
|
||
|
from aiohttp.web_exceptions import (
|
||
|
HTTPException,
|
||
|
HTTPExpectationFailed,
|
||
|
HTTPForbidden,
|
||
|
HTTPMethodNotAllowed,
|
||
|
HTTPNotFound,
|
||
|
)
|
||
|
from aiohttp import web
|
||
|
from aiohttp.web_fileresponse import FileResponse
|
||
|
from aiohttp.web_request import Request
|
||
|
from aiohttp.web_response import Response, StreamResponse
|
||
|
from aiohttp.web_routedef import AbstractRouteDef
|
||
|
from aiohttp.web import json_response
|
||
|
|
||
|
|
||
|
from sqlor.crud import CRUD
|
||
|
|
||
|
from appPublic.dictObject import multiDict2Dict
|
||
|
from appPublic.jsonConfig import getConfig
|
||
|
|
||
|
from .error import Error,Success
|
||
|
actions = [
|
||
|
"browse",
|
||
|
"add",
|
||
|
"update",
|
||
|
"filter"
|
||
|
]
|
||
|
|
||
|
class DBAdmin:
|
||
|
def __init__(self, request,dbname,tablename, action):
|
||
|
self.dbname = dbname
|
||
|
self.tablename = tablename
|
||
|
self.request = request
|
||
|
self.action = action
|
||
|
if action not in actions:
|
||
|
print('action not defined',action)
|
||
|
raise HTTPNotFound
|
||
|
try:
|
||
|
self.crud = CRUD(dbname,tablename)
|
||
|
except Exception as e:
|
||
|
print('e=',e)
|
||
|
traceback.print_exc()
|
||
|
raise HTTPNotFound
|
||
|
|
||
|
async def render(self) -> Response:
|
||
|
try:
|
||
|
d = await self.crud.I()
|
||
|
return json_response(Success(d))
|
||
|
except Exception as e:
|
||
|
print(e)
|
||
|
traceback.print_exc()
|
||
|
return json_response(Error(errno='metaerror',msg='get metadata error'))
|
||
|
|