import mysql
import mysql
connector as c
import os
COST_PER_KM = 4
def create_database_connection():
try:
connection = c.connect(
return connection
print(f"Error: {err}")
return None
def create_flights_table():
conn = create_database_connection()
if conn is None:
return
cursor = conn.cursor()
flight_number VARCHAR(10),
origin VARCHAR(100),
destination VARCHAR(100),
departure_time DATETIME,
available_seats INT,
distance INT)''')
if cursor.fetchone()[0] == 0:
conn.commit()
conn.close()
# Function to calculate total cost
def calculate_total_cost():
try:
num_passengers = int(passengers_entry.get())
flight_id = selected_flight_id
conn = create_database_connection()
cursor = conn.cursor()
distance = cursor.fetchone()[0]
conn.close()
return total_cost
except Exception as e:
print(e)
return 0
filename = f"{passenger_name}_ticket.pdf"
c = canvas.Canvas(filename, pagesize=letter)
c.save()
def book_flight():
passenger_name = passenger_name_entry.get()
num_passengers = int(passengers_entry.get())
conn = create_database_connection()
if conn is None:
return
cursor = conn.cursor()
flight_details = cursor.fetchone()
total_cost = calculate_total_cost()
conn.close()
def search_available_flights():
origin = origin_entry.get()
destination = destination_entry.get()
conn = create_database_connection()
if conn is None:
return
cursor = conn.cursor()
available_flights = cursor.fetchall()
widget.destroy()
if available_flights:
flight_number = flight[1]
departure_time = flight[4]
available_seats = flight[5]
else:
conn.close()
def select_flight(flight_id):
global selected_flight_id
selected_flight_id = flight_id
calculate_total_cost()
ctk.set_appearance_mode("Dark")
ctk.set_default_color_theme("blue")
root = ctk.CTk()
search_frame = ctk.CTkFrame(root)
search_frame.pack(padx=20, pady=20)
origin_entry = ctk.CTkEntry(search_frame)
origin_entry.grid(row=0, column=1)
destination_entry = ctk.CTkEntry(search_frame)
destination_entry.grid(row=1, column=1)
results_frame = ctk.CTkFrame(root)
results_frame.pack(padx=20, pady=20)
# Booking details
booking_frame = ctk.CTkFrame(root)
booking_frame.pack(padx=20, pady=20)
passenger_name_entry = ctk.CTkEntry(booking_frame)
passenger_name_entry.grid(row=0, column=1)
passengers_entry = ctk.CTkEntry(booking_frame)
passengers_entry.grid(row=1, column=1)
create_flights_table()
root.mainloop()