6 Commits

Author SHA1 Message Date
8b55f74cd5 version increment 2026-01-18 11:27:51 +01:00
c0aa8bc732 added total coffee 2026-01-18 11:27:04 +01:00
6c7113849f typo and update of deb package description 2025-10-25 13:51:54 +02:00
321cbc7f89 increment version for new release 0.2.2b 2025-10-25 13:41:25 +02:00
aa5d5e6698 changed sender and receiver order in csv output 2025-10-25 13:39:56 +02:00
2b55aa62f0 refactored variables 2025-10-25 13:26:51 +02:00
3 changed files with 31 additions and 18 deletions

View File

@@ -1,5 +1,5 @@
Package: brovski-adressetiketten
Version: 0.2.1b
Version: 0.2.3b
Maintainer: Ovski
Architecture: all
Description: manage csv files for glables address labels
Description: Manage and export addresses to csv. Can be used with glabels (example included in the source).

View File

@@ -1,3 +1,4 @@
import _csv
import csv
import os
import sys
@@ -20,7 +21,7 @@ class Application:
y_offset = 200
width = 1050
height = 700
VERSION = '0.2.1b'
VERSION = '0.2.3b'
title = f"Brovski Adress-Etiketten Verwaltung {VERSION}"
self.root = tk.Tk(className="BrovskiAdressEtiketten")
@@ -51,6 +52,7 @@ class Application:
self.statusbar = tk.StringVar()
self.length_address_list = None
self.length_address_list_active = None
self.count_coffee = None
# leave application if settings are bad
if not self.config_good:
@@ -142,7 +144,7 @@ class Application:
"name": "Name",
"strasse": "Strasse",
"plzort": "Plz/Ort",
"anzahl": "Anzahl"
"anzahl": "1"
}
self.model.create_new(values)
self.populate_table()
@@ -254,24 +256,29 @@ class Application:
if address["aktiv"] != "x":
continue
for index in range(int(address["anzahl"])):
line = []
if address["firma"] != "":
line.append(address["firma"])
line.append(address["name"])
line.append(address["strasse"])
line.append(address["plzort"])
writer.writerow(line)
# todo: add "absender" to config parameters
line = []
for idx in range(4):
line.append(self.config.get("absender", f"{idx}"))
writer.writerow(line)
self.write_sender_to_csv(address, writer)
self.write_receiver_to_csv(address, writer)
except FileNotFoundError:
show_error(message_title="Unexpected error",
message=f"Could not write file {self.csv_file}",
parent=self.root
)
def write_receiver_to_csv(self, address: dict, csv_writer: _csv.writer):
receiver_line = []
if address["firma"] != "":
receiver_line.append(address["firma"])
receiver_line.append(address["name"])
receiver_line.append(address["strasse"])
receiver_line.append(address["plzort"])
csv_writer.writerow(receiver_line)
def write_sender_to_csv(self, address: dict, csv_writer: _csv.writer):
sender_line = []
for idx in range(4):
sender_line.append(self.config.get("absender", f"{idx}"))
csv_writer.writerow(sender_line)
def populate_table(self, reload=True):
if reload:
self.address_list = self.model.get_all()
@@ -316,15 +323,21 @@ class Application:
def update_status_bar(self):
self._count_address_records()
self.statusbar.set(f"Adressen: {self.length_address_list} | Aktive Adressen: {self.length_address_list_active}")
self.statusbar.set(
f"Adressen: {self.length_address_list} | "
f"Aktive Adressen: {self.length_address_list_active} | "
f"Total Kaffee: {self.count_coffee}")
def _count_address_records(self):
self.length_address_list = len(self.address_list)
count = 0
count_coffee = 0
for address in self.address_list:
if address["aktiv"] == "x":
count += 1
count_coffee += count_coffee + int(address["anzahl"])
self.length_address_list_active = count
self.count_coffee = count_coffee
def first_sort_after_start(self):
self.address_list.sort(key=lambda x: (x["firma"], x["name"]))

View File

@@ -1 +1 @@
0.2.1b
0.2.3b