Refactored code to be more maintainable

This commit is contained in:
2024-07-13 17:58:27 +02:00
parent 1183327e7e
commit 901daf6c06
12 changed files with 355 additions and 437 deletions

View File

@@ -2,57 +2,58 @@ import tkinter as tk
from tkinter import ttk
from api.woocommerce import save_credentials, load_credentials
def create_tab_settings(tab_parent, text):
tab = ttk.Frame(tab_parent)
tab_parent.add(tab, text=text)
class SettingsTab:
def __init__(self, tab_parent, text):
self.tab = ttk.Frame(tab_parent)
tab_parent.add(self.tab, text=text)
credentials = load_credentials()
url_value = credentials['url'] if credentials else ''
consumer_key_value = credentials['consumer_key'] if credentials else ''
consumer_secret_value = credentials['consumer_secret'] if credentials else ''
username_value = credentials['username'] if credentials else ''
password_value = credentials['password'] if credentials else ''
url_label = tk.Label(tab, text="WooCommerce URL:")
url_label.pack(pady=5)
url_entry = tk.Entry(tab)
url_entry.insert(0, url_value)
url_entry.pack()
consumer_key_label = tk.Label(tab, text="Consumer Key:")
consumer_key_label.pack(pady=5)
consumer_key_entry = tk.Entry(tab)
consumer_key_entry.insert(0, consumer_key_value)
consumer_key_entry.pack()
consumer_secret_label = tk.Label(tab, text="Consumer Secret:")
consumer_secret_label.pack(pady=5)
consumer_secret_entry = tk.Entry(tab, show="*")
consumer_secret_entry.insert(0, consumer_secret_value)
consumer_secret_entry.pack()
username_label = tk.Label(tab, text="Username:")
username_label.pack(pady=5)
username_entry = tk.Entry(tab)
username_entry.insert(0, username_value)
username_entry.pack()
password_label = tk.Label(tab, text="Password:")
password_label.pack(pady=5)
password_entry = tk.Entry(tab, show="*")
password_entry.insert(0, password_value)
password_entry.pack()
button_save = tk.Button(tab, text="Save Credentials", command=lambda: save_credentials(
url_entry.get(),
consumer_key_entry.get(),
consumer_secret_entry.get(),
username_entry.get(),
password_entry.get()
))
button_save.pack(pady=5)
self.credentials = load_credentials()
self.setup_ui()
def setup_ui(self):
url_label = tk.Label(self.tab, text="WooCommerce URL:")
url_label.pack(pady=5)
self.url_entry = tk.Entry(self.tab)
self.url_entry.insert(0, self.credentials.get('url', ''))
self.url_entry.pack(pady=5)
consumer_key_label = tk.Label(self.tab, text="Consumer Key:")
consumer_key_label.pack(pady=5)
self.consumer_key_entry = tk.Entry(self.tab)
self.consumer_key_entry.insert(0, self.credentials.get('consumer_key', ''))
self.consumer_key_entry.pack(pady=5)
consumer_secret_label = tk.Label(self.tab, text="Consumer Secret:")
consumer_secret_label.pack(pady=5)
self.consumer_secret_entry = tk.Entry(self.tab, show="*")
self.consumer_secret_entry.insert(0, self.credentials.get('consumer_secret', ''))
self.consumer_secret_entry.pack(pady=5)
username_label = tk.Label(self.tab, text="Username:")
username_label.pack(pady=5)
self.username_entry = tk.Entry(self.tab)
self.username_entry.insert(0, self.credentials.get('username', ''))
self.username_entry.pack(pady=5)
password_label = tk.Label(self.tab, text="Password:")
password_label.pack(pady=5)
self.password_entry = tk.Entry(self.tab, show="*")
self.password_entry.insert(0, self.credentials.get('password', ''))
self.password_entry.pack(pady=5)
save_button = tk.Button(self.tab, text="Save Credentials", command=self.save_credentials)
save_button.pack(pady=5)
def save_credentials(self):
save_credentials(
self.url_entry.get(),
self.consumer_key_entry.get(),
self.consumer_secret_entry.get(),
self.username_entry.get(),
self.password_entry.get()
)