src/buildservice/releasemonitoring.py \
src/buildservice/repos.py \
src/buildservice/sessions.py \
- src/buildservice/settings.py \
src/buildservice/sources.py \
src/buildservice/uploads.py \
src/buildservice/users.py
from . import ratelimiter
from . import releasemonitoring
from . import repos
-from . import settings
from . import sessions
from . import sources
from . import uploads
# Fetch the base path
self.basepath = self.config.get("global", "basepath")
- # Global pakfire settings (from database).
- self.settings = settings.Settings(self)
-
# Initialize the HTTP Client
self.httpclient = httpclient.HTTPClient(self)
+++ /dev/null
-#!/usr/bin/python
-
-from . import base
-
-class Settings(base.Object):
- async def get(self, key, default=None):
- res = await self.db.get("SELECT v FROM settings WHERE k = %s", key)
- if res:
- return res.v
-
- return default
-
- async def get_int(self, key, default=None):
- value = await self.get(key, default)
-
- try:
- return int(value)
- except ValueError:
- return None
-
- async def get_float(self, key, default=None):
- value = await self.get(key, default)
-
- try:
- return float(value)
- except ValueError:
- return None
-
- async def set(self, key, value):
- await self.db.execute("""
- INSERT INTO
- settings(
- k,
- v
- )
- VALUES(
- %s, %s
- )
- ON CONFLICT
- (k)
- DO UPDATE SET
- v = excluded.v
- WHERE
- settings.k = excluded.k
- """, key, value,
- )
-