]>
Commit | Line | Data |
---|---|---|
9137135a MT |
1 | #!/usr/bin/python |
2 | ||
2c909128 | 3 | from . import base |
9137135a MT |
4 | |
5 | class 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) |