]> git.ipfire.org Git - people/jschlag/pbs.git/blob - src/buildservice/settings.py
Drop concept of non-public builds
[people/jschlag/pbs.git] / src / buildservice / settings.py
1 #!/usr/bin/python
2
3 from . import base
4
5 class Settings(base.Object):
6 def get(self, key, default=None):
7 res = self.db.get("SELECT v FROM settings WHERE k = %s", key)
8 if res:
9 return res.v
10
11 return default
12
13 def get_int(self, key, default=None):
14 value = self.get(key, default)
15
16 try:
17 return int(value)
18 except ValueError:
19 return None
20
21 def get_float(self, key, default=None):
22 value = self.get(key, default)
23
24 try:
25 return float(value)
26 except ValueError:
27 return None
28
29 def set(self, key, value):
30 self.db.execute("INSERT INTO settings(k, v) VALUES(%s, %s) \
31 ON CONFLICT (k) DO UPDATE v = excluded.v WHERE k = excluded.k",
32 key, value)