openSUSE-release-tools/abichecker/abichecker_common.py
Jimmy Berry 6069245350 Remove SUSE copyright, warranty, and license headers.
Distinct copyrights were left as I do not wish to track down commit
history to ensure it properly documents the copyright holders. Also left
non-GPLv2 licenses and left bs_copy untouched as a mirror from OBS.

Already have a mix of with and without headers and even OBS does not place
on majority of files. If SUSE lawyers have an issue it will come up in
legal review for Factory.
2018-08-23 19:18:06 -05:00

48 lines
1.4 KiB
Python

#!/usr/bin/python
from xdg.BaseDirectory import save_cache_path, save_data_path
CACHEDIR = save_cache_path('opensuse.org', 'abi-checker')
DATADIR = save_data_path('opensuse.org', 'abi-checker')
import abichecker_dbmodel as DB
import sqlalchemy.orm.exc
class Config(object):
def __init__(self, session):
self.session = session
if self.session is None:
self.session = DB.db_session()
def set(self, key, value):
try:
entry = self.session.query(DB.Config).filter(DB.Config.key == key).one()
entry.value = value
except sqlalchemy.orm.exc.NoResultFound as e:
entry = DB.Config(key=key, value=value)
self.session.add(entry)
self.session.commit()
def get(self, key, default = None):
try:
entry = self.session.query(DB.Config).filter(DB.Config.key == key).one()
return entry.value
except sqlalchemy.orm.exc.NoResultFound as e:
pass
return default
def delete(self, key):
try:
entry = self.session.query(DB.Config).filter(DB.Config.key == key).one()
self.session.delete(entry)
self.session.commit()
return True
except sqlalchemy.orm.exc.NoResultFound as e:
pass
return False
def settings(self):
for entry in self.session.query(DB.Config).all():
yield (entry.key, entry.value)