From 922f2cd134b42820d3551b4364cc9d233a6f9fad Mon Sep 17 00:00:00 2001 From: Laurent Date: Tue, 20 May 2025 17:05:13 +0200 Subject: [PATCH] Delete iface.py --- iface.py | 132 ------------------------------------------------------- 1 file changed, 132 deletions(-) delete mode 100644 iface.py diff --git a/iface.py b/iface.py deleted file mode 100644 index fc3f51b..0000000 --- a/iface.py +++ /dev/null @@ -1,132 +0,0 @@ -import tkinter as tk -from tkinter import ttk -from tkinter import filedialog -from PIL import Image, ImageTk -import threading -from downloader import CopernicusDownloader - -class MapSelector: - def __init__(self, root): - self.root = root - self.root.title("Copernicus Downloader") - - # Image - self.canvas = tk.Canvas(self.root, cursor="cross") - self.canvas.pack(fill=tk.BOTH, expand=True) - - self.original_img = Image.open("map.png") - self.tk_img = ImageTk.PhotoImage(self.original_img) - self.img_id = self.canvas.create_image(0, 0, anchor="nw", image=self.tk_img) - - self.canvas.bind("", self.resize_image) - self.canvas.bind("", self.on_click) - self.canvas.bind("", self.on_drag) - self.canvas.bind("", self.on_release) - - self.start_x = self.start_y = None - self.rect = None - - # Coordonnées - coord_frame = tk.Frame(self.root) - coord_frame.pack(pady=5) - - self.lat1_var = tk.StringVar() - self.lon1_var = tk.StringVar() - self.lat2_var = tk.StringVar() - self.lon2_var = tk.StringVar() - - for i, (label, var) in enumerate([ - ("Lat Min", self.lat1_var), ("Lon Min", self.lon1_var), - ("Lat Max", self.lat2_var), ("Lon Max", self.lon2_var) - ]): - tk.Label(coord_frame, text=label).grid(row=i//2, column=(i % 2) * 2) - tk.Entry(coord_frame, textvariable=var).grid(row=i//2, column=(i % 2) * 2 + 1) - - # Authentification - auth_frame = tk.Frame(self.root) - auth_frame.pack(pady=5) - - self.user_var = tk.StringVar() - self.pwd_var = tk.StringVar() - - tk.Label(auth_frame, text="Utilisateur:").grid(row=0, column=0) - tk.Entry(auth_frame, textvariable=self.user_var).grid(row=0, column=1) - - tk.Label(auth_frame, text="Mot de passe:").grid(row=1, column=0) - tk.Entry(auth_frame, textvariable=self.pwd_var, show="*").grid(row=1, column=1) - - # Durée - self.duration_var = tk.StringVar(value="1") - tk.Label(self.root, text="Durée (jours):").pack() - ttk.Combobox(self.root, textvariable=self.duration_var, values=["1", "2", "3", "4", "5"]).pack(pady=5) - - # Boutons - tk.Button(self.root, text="Télécharger", command=self.start_download).pack(pady=5) - - self.status = tk.Label(self.root, text="") - self.status.pack() - - self.progress = ttk.Progressbar(self.root, orient="horizontal", length=300, mode="indeterminate") - self.progress.pack(pady=5) - - self.display_image() - - def resize_image(self, event): - resized_img = self.original_img.resize((event.width, event.height), Image.Resampling.LANCZOS) - self.tk_img = ImageTk.PhotoImage(resized_img) - self.canvas.itemconfig(self.img_id, image=self.tk_img) - - def latlon_from_xy(self, x, y): - lat_min, lat_max = 45.0, 56.6 - lon_min, lon_max = -9.0, 9.5 - lat = lat_max - (y / self.canvas.winfo_height()) * (lat_max - lat_min) - lon = lon_min + (x / self.canvas.winfo_width()) * (lon_max - lon_min) - return lat, lon - - def on_click(self, event): - self.start_x, self.start_y = event.x, event.y - self.rect = self.canvas.create_rectangle(self.start_x, self.start_y, event.x, event.y, outline="red") - - def on_drag(self, event): - self.canvas.coords(self.rect, self.start_x, self.start_y, event.x, event.y) - - def on_release(self, event): - lat1, lon1 = self.latlon_from_xy(self.start_x, self.start_y) - lat2, lon2 = self.latlon_from_xy(event.x, event.y) - self.lat1_var.set(f"{min(lat1, lat2):.4f}") - self.lat2_var.set(f"{max(lat1, lat2):.4f}") - self.lon1_var.set(f"{min(lon1, lon2):.4f}") - self.lon2_var.set(f"{max(lon1, lon2):.4f}") - - def display_image(self): - resized_img = self.original_img.resize((self.canvas.winfo_width(), self.canvas.winfo_height()), Image.Resampling.LANCZOS) - self.tk_img = ImageTk.PhotoImage(resized_img) - self.canvas.itemconfig(self.img_id, image=self.tk_img) - - def start_download(self): - threading.Thread(target=self.download).start() - - def download(self): - self.status.config(text="Téléchargement en cours...") - self.progress.start() - self.root.update_idletasks() - try: - downloader = CopernicusDownloader(self.user_var.get(), self.pwd_var.get()) - downloader.download( - lat_min=float(self.lat1_var.get()), - lat_max=float(self.lat2_var.get()), - lon_min=float(self.lon1_var.get()), - lon_max=float(self.lon2_var.get()), - days=int(self.duration_var.get()), - output_dir="downloads" - ) - self.status.config(text="Téléchargement terminé avec succès.") - except Exception as e: - self.status.config(text=f"Erreur: {e}") - finally: - self.progress.stop() - -if __name__ == "__main__": - root = tk.Tk() - app = MapSelector(root) - root.mainloop()