import tkinter as tk from my_package.App_window import AppWindow def is_valid_isbn(entry): clean_isbn = entry.replace("-", "").replace(" ", "").upper() if len(clean_isbn) != 10: return False total = 0 try: for i in range(10): char = clean_isbn[i] if i == 9 and char == 'X': value = 10 elif char.isdigit(): value = int(char) else: return False total += value * (10 - i) return total % 11 == 0 except Exception: return False def is_valid_iban(entry): clean_iban = entry.replace(" ", "").upper() rearranged = clean_iban[4:] + clean_iban[:4] numeric_iban = "" for char in rearranged: if char.isdigit(): numeric_iban += char else: numeric_iban += str(ord(char) - 55) return int(numeric_iban) % 97 == 1 class Checker(AppWindow): def __init__(self): super().__init__(300,300) self.button_1 = tk.Button(self.root, text="check", command= self.check_isbn) self.button_2 = tk.Button(self.root,text="check", command= self.check_iban) self.isbn_label = tk.Label(self.root, text="") self.iban_label = tk.Label(self.root, text="") self.entry_1 = tk.Entry(self.root, width=20) self.entry_2 = tk.Entry(self.root, width=20) def init_widgets(self): tk.Label(self.root, text="ISBN: ").grid(row=0, column=0) self.entry_1.grid(row=0, column=1) self.button_1.grid(row=1, column=0) self.isbn_label.grid(row=1, column=1) tk.Label(self.root, text="IBAN: ").grid(row=2, column=0) self.entry_2.grid(row=2, column=1) self.button_2.grid(row=3, column=0) self.iban_label.grid(row=3, column=1) def check_isbn(self): entry = self.entry_1.get() self.entry_1.delete(0, tk.END) if is_valid_isbn(entry): self.isbn_label.configure(text="Valid ISBN") else: self.isbn_label.configure(text="Invalid ISBN") def check_iban(self): entry = self.entry_2.get() self.entry_2.delete(0, tk.END) if is_valid_iban(entry): self.iban_label.configure(text="Valid IBAN") else: self.iban_label.configure(text="Invalid IBAN") def console_checker(): print("Welcome to IBAN / ISBN Checker") while True: usr_input = input("Please enter your Number: ") print("1. Check ISBN") print("2. Check IBAN") print("3. Exit") usr_choice = input("1 / 2 / 3 ?: ") if usr_choice == "1": if is_valid_isbn(usr_input): print("Valid ISBN") else: print("Invalid ISBN") if usr_choice == "2": if is_valid_iban(usr_input): print("Valid IBAN") else: print("Invalid IBAN") if usr_choice == "3": break def main(): app = Checker() app.run() console_checker()