rename ravenlog to krowlog

There is a database named RavenDB.
KrowLog starts with a K, which is a) distinctive and b) has an association to KDE.
This commit is contained in:
2022-02-12 10:22:47 +01:00
parent 38e14d6042
commit a640b35c87
62 changed files with 380 additions and 362 deletions

0
src/settings/__init__.py Normal file
View File

View File

@@ -0,0 +1,13 @@
from PySide6.QtCore import QSettings
class CuteSettings:
def __init__(self):
self._settings = QSettings("krowlog", "settings")
def set_value(self, key: str, value: any):
self._settings.setValue(key, value)
def value(self, key: str, default=None):
return self._settings.value(key, default)

23
src/settings/settings.py Normal file
View File

@@ -0,0 +1,23 @@
from configparser import ConfigParser
class Settings():
def __init__(self, session: ConfigParser):
self.session = session
def set_session(self, section: str, option: str, value: str):
return self.session.set(section, option, value)
def get_session(self, section: str, option: str, fallback: str = object()) -> str:
return self.session.get(section, option, fallback=fallback)
def getint_session(self, section: str, option: str) -> int:
return self.session.getint(section, option)
def getboolean_session(self, section: str, option: str) -> bool:
return self.session.getboolean(section, option)
@staticmethod
def max_line_length():
return 4096

View File

@@ -0,0 +1,45 @@
import os
import sys
from pathlib import Path
from os.path import join
from configparser import ConfigParser
from src.settings.settings import Settings
class SettingsStore():
def __init__(self):
pass
@staticmethod
def _session_file() -> str:
if sys.platform == 'win32' or sys.platform == 'cygwin':
return join(Path.home(), "AppData", "Local", "krowlog", "session.ini")
else:
return join(Path.home(), ".local", "share", "krowlog", "session.ini")
@staticmethod
def load() -> Settings:
session = SettingsStore._load_session()
return Settings(session)
@staticmethod
def _load_session() -> ConfigParser:
session_file = SettingsStore._session_file()
session = ConfigParser()
# apply default settings
session.add_section('general')
session.set('general', 'font_size', '12')
session.set('general', 'highlight_search_term', 'True')
session.set('general', 'open_tab_on_save_as_file', 'True')
session.read(session_file)
return session
@staticmethod
def save(settings: Settings):
session_file = SettingsStore._session_file()
dir = os.path.dirname(session_file)
os.makedirs(dir, exist_ok=True)
with open(session_file, 'w+') as fp:
settings.session.write(fp)