]> git.ipfire.org Git - people/jschlag/pbs.git/blame - src/buildservice/settings.py
Simplify settings
[people/jschlag/pbs.git] / src / buildservice / settings.py
CommitLineData
9137135a
MT
1#!/usr/bin/python
2
2c909128 3from . import base
9137135a
MT
4
5class Settings(base.Object):
450fcaac 6 def get(self, key, default=None):
d905f826
MT
7 res = self.db.get("SELECT v FROM settings WHERE k = %s", key)
8 if res:
9 return res.v
10
11 return default
9137135a 12
966498de
MT
13 def get_int(self, key, default=None):
14 value = self.get(key, default)
9137135a 15
450fcaac
MT
16 try:
17 return int(value)
18 except ValueError:
9137135a
MT
19 return None
20
966498de
MT
21 def get_float(self, key, default=None):
22 value = self.get(key, default)
9137135a 23
450fcaac
MT
24 try:
25 return float(value)
26 except ValueError:
9137135a
MT
27 return None
28
9137135a 29 def set(self, key, value):
d905f826
MT
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)