Compare commits

..

1 commit

Author SHA1 Message Date
Izalia Mae 7f403d232f Merge branch 'sqldatabase' into 'master'
Draft: Use SQL database backend

See merge request pleroma/relay!47
2022-12-14 01:46:22 +00:00
5 changed files with 18 additions and 38 deletions

View file

@ -14,15 +14,7 @@ a = Analysis(
'aputils.errors',
'aputils.misc',
'aputils.objects',
'aputils.signer',
'tinysql.base',
'tinysql.database',
'tinysql.error',
'tinysql.mysql',
'tinysql.postgresql',
'tinysql.sqlite',
'tinysql.statement'
'aputils.signer'
],
hookspath=[],
hooksconfig={},

View file

@ -14,7 +14,6 @@ from datetime import datetime, timedelta
from .config import Config
from .database import Database
from .http_client import HttpClient
from .logger import set_level
from .misc import DotDict, check_open_port, set_app
from .views import routes
@ -42,9 +41,6 @@ class Application(web.Application):
self.database.create()
self.set_signal_handler()
with self.database.session as s:
set_level(s.get_config('log_level'))
@property
def client(self):
@ -117,7 +113,6 @@ class Application(web.Application):
logging.info(f'Starting webserver at {self.config.host} ({self.config.listen}:{self.config.port})')
asyncio.run(self.handle_run())
self.database.disconnect()
def stop(self, *_):

View file

@ -4,7 +4,6 @@ from datetime import datetime
from tinysql import Column, Table
from urllib.parse import urlparse
from .logger import set_level
from .misc import AppBase, DotDict, boolean
@ -125,7 +124,7 @@ class Connection(tinysql.ConnectionMixin):
row = self.get_instance(domain)
if not row:
raise KeyError(domain)
raise KeyError(name)
self.delete('instances', id=row.id)
@ -187,12 +186,11 @@ class Connection(tinysql.ConnectionMixin):
query = 'SELECT * FROM instances WHERE domain = :data OR actor = :data OR inbox = :data'
row = self.execute(query, dict(data=data), table='instances').one()
return row if row and row.joined else None
return row if row.joined else None
def get_instances(self):
query = 'SELECT * FROM instances WHERE joined IS NOT NULL'
query += ' ORDER BY domain ASC'
return self.execute(query, table='instances').all()
@ -205,7 +203,7 @@ class Connection(tinysql.ConnectionMixin):
def get_requests(self):
query = 'SELECT * FROM instances WHERE joined IS NULL ORDER BY domain ASC'
query = 'SELECT * FROM instances WHERE joined IS NULL'
return self.execute(query, table='instances').all()
@ -247,9 +245,6 @@ class Connection(tinysql.ConnectionMixin):
if value == '__DEFAULT__':
value = DEFAULT_CONFIG[key][1]
if key == 'log_level':
set_level(value)
row = self.select('config', key=key).one()
if row:

View file

@ -4,16 +4,6 @@ import os
from pathlib import Path
LEVELS = {
'critical': logging.CRITICAL,
'error': logging.ERROR,
'warning': logging.WARNING,
'info': logging.INFO,
'verbose': 15,
'debug': logging.DEBUG
}
## Add the verbose logging level
def verbose(message, *args, **kwargs):
if not logging.root.isEnabledFor(logging.VERBOSE):
@ -25,6 +15,10 @@ setattr(logging, 'verbose', verbose)
setattr(logging, 'VERBOSE', 15)
logging.addLevelName(15, 'VERBOSE')
## Get log level and file from environment if possible
env_log_level = os.environ.get('LOG_LEVEL', 'INFO').upper()
try:
env_log_file = Path(os.environ.get('LOG_FILE')).expanduser().resolve()
@ -32,6 +26,14 @@ except TypeError:
env_log_file = None
## Make sure the level from the environment is valid
try:
log_level = getattr(logging, env_log_level)
except AttributeError:
log_level = logging.INFO
## Set logging config
handlers = [logging.StreamHandler()]
@ -39,11 +41,7 @@ if env_log_file:
handlers.append(logging.FileHandler(env_log_file))
logging.basicConfig(
level = logging.INFO,
level = log_level,
format = "[%(asctime)s] %(levelname)s: %(message)s",
handlers = handlers
)
def set_level(level):
logging.getLogger().setLevel(LEVELS[level.lower()])

View file

@ -4,4 +4,4 @@ aputils@https://git.barkshark.xyz/barkshark/aputils/archive/0.1.3.tar.gz
cachetools>=5.2.0
click>=8.1.2
pyyaml>=6.0
tinysql[postgres,mysql]@https://git.barkshark.xyz/barkshark/tinysql/archive/0.1.0.tar.gz
tinysql[postgres,mysql]@https:/git.barkshark.xyz/barkshark/tinysql/archive/0.1.0.tar.gz