diff --git a/deb-package/brovski-adressetiketten/DEBIAN/control b/deb-package/brovski-adressetiketten/DEBIAN/control index 0137034..c3fb7b7 100644 --- a/deb-package/brovski-adressetiketten/DEBIAN/control +++ b/deb-package/brovski-adressetiketten/DEBIAN/control @@ -1,5 +1,5 @@ Package: brovski-adressetiketten -Version: 0.7a +Version: 0.1.0b Maintainer: Ovski Architecture: all Description: manage csv files for glables address labels diff --git a/src/brovski-adress-etiketten-verwaltung.py b/src/brovski-adress-etiketten-verwaltung.py index 71e1423..3c4614c 100644 --- a/src/brovski-adress-etiketten-verwaltung.py +++ b/src/brovski-adress-etiketten-verwaltung.py @@ -8,6 +8,7 @@ from tkinter import ttk from config import Config from connector import JSONConnector +from model import Model from windows import SettingsWindow, EditRecord, show_error @@ -18,7 +19,7 @@ class Application: y_offset = 200 width = 1050 height = 700 - VERSION = '0.7a' + VERSION = '0.1.0b' title = f"Brovski Adress-Etiketten Verwaltung {VERSION}" self.root = tk.Tk(className="BrovskiAdressEtiketten") @@ -36,7 +37,7 @@ class Application: self.filter_active = tk.BooleanVar(value=False) # model connector - self.model = JSONConnector() + self.model = Model(JSONConnector()) # init paths to json and csv file self.json_file_name = "brovski-adress-etiketten-verwaltung.json" diff --git a/src/connector.py b/src/connector.py index 436ea86..f3f4c9f 100644 --- a/src/connector.py +++ b/src/connector.py @@ -29,6 +29,10 @@ class Connector(ABC): def create_new(self, values: dict) -> int: pass + @abstractmethod + def get_all_sorted_by(self, field: str, reverse: bool = False) -> list: + pass + class JSONConnector(Connector): def __init__(self): @@ -78,5 +82,5 @@ class JSONConnector(Connector): return next_id def _write_to_file(self, data): - with open(self.json_file, "w") as f: - json.dump(data, f, indent=4) + with open(self.json_file, "w", encoding="UTF-8") as f: + json.dump(data, f, indent=4, ensure_ascii=False) diff --git a/src/model.py b/src/model.py new file mode 100644 index 0000000..1c7164c --- /dev/null +++ b/src/model.py @@ -0,0 +1,24 @@ +from connector import JSONConnector, Connector + + +class Model: + def __init__(self, connector: Connector): + self.connector = connector + + def get_all(self): + return self.connector.get_all() + + def get_all_sorted_by(self, field: str, reverse: bool = False): + return self.connector.get_all_sorted_by(field=field, reverse=reverse) + + def get_by_id(self, record_id: int): + return self.connector.get_by_id(record_id) + + def delete_by_id(self, record_id: int): + self.connector.delete_by_id(record_id) + + def update_record(self, new_record: dict): + self.connector.update_record(new_record) + + def create_new(self, record: dict): + self.connector.create_new(record) \ No newline at end of file diff --git a/version.txt b/version.txt index d7e056a..a4a1547 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -0.7a +0.1.0b