fix_model_structure #13

Merged
sroth merged 2 commits from fix_model_structure into main 2025-05-04 16:33:22 +02:00
5 changed files with 35 additions and 6 deletions

View File

@@ -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

View File

@@ -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"

View File

@@ -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)

24
src/model.py Normal file
View File

@@ -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)

View File

@@ -1 +1 @@
0.7a
0.1.0b