Skip to content

Commit 576d267

Browse files
committed
Add Funzione Ricorsiva
- Aggiunta Funzione ricorsiva a tutti gli script (una volta completato potrai scegliere se utilizzare lo stesso script di nuovo oppure tornare a "main.py") - Update "Readme.md"
1 parent 9a38c91 commit 576d267

16 files changed

+185
-65
lines changed

README.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
</p>
88
<br>
99
<p align="center">
10-
<img src="https://img.shields.io/badge/version-3.2-blue.svg" alt="versione">
10+
<img src="https://img.shields.io/badge/version-3.3-red.svg" alt="versione">
1111
<img src="https://img.shields.io/github/last-commit/Magnetarman/Python-Script?style=flat&logo=git&logoColor=white&color=0080ff" alt="last-commit">
1212
<img src="https://img.shields.io/github/languages/top/Magnetarman/Python-Script?style=flat&color=0080ff" alt="repo-top-language">
1313
<img src="https://img.shields.io/github/languages/count/Magnetarman/Python-Script?style=flat&color=0080ff" alt="repo-language-count">
@@ -61,7 +61,6 @@
6161
├── codec_expoler.py
6262
├── color_palette.py
6363
├── efolder.py
64-
├── elenco_cartelle.py
6564
├── eml_converter.py
6665
├── estensioni.py
6766
├── image_downloader.py
@@ -70,7 +69,8 @@
7069
├── sposta_file.py
7170
├── transcribe_wav.py
7271
├── pdf_combiner.py
73-
└── trash.py
72+
├── trash.py
73+
└── tree_size.py
7474
```
7575

7676
### 📂 Index Progetto
@@ -228,6 +228,7 @@ Utilizza Python-Script seguendo questi step:
228228
- [x] **`V 3.1.1`**: <strike>Aggiunta Script PDF Combiner in versione Stabile.</strike>
229229
- [x] **`V 3.1.2`**: <strike>il wrapper `main.py` aggiunge automaticamente i nuovi script all'avvio.</strike>
230230
- [x] **`V 3.2`**: <strike>Automatizzare il processo di installazione di Python e dipendenze al 100%.</strike>
231+
- [ ] **`V 3.3`**: Aggiunti nuovi script, aggiunta documentazione mancante. 'main.py' non viene terminato alla fine di uno script.
231232
- [ ] **`V 4.0`**: unificare il tutto in un unico 'main.py' con aggiunta di Interfaccia grafica.
232233

233234
---

main.py

Lines changed: 27 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -80,36 +80,38 @@ def main():
8080
else:
8181
directory = base_dir
8282

83-
scripts = get_scripts(directory)
84-
if not scripts:
85-
print("Nessuno script disponibile da eseguire.")
86-
return
83+
while True:
84+
scripts = get_scripts(directory)
85+
if not scripts:
86+
print("Nessuno script disponibile da eseguire.")
87+
return
8788

88-
# Stampa il menu di selezione in ordine alfabetico
89-
print("Seleziona lo script da eseguire:\n")
90-
for idx, script in enumerate(scripts, start=1):
91-
desc = get_description(os.path.join(directory, script))
92-
print(f"{idx}. {script} - {desc}")
89+
# Stampa il menu di selezione in ordine alfabetico
90+
print("Seleziona lo script da eseguire:\n")
91+
for idx, script in enumerate(scripts, start=1):
92+
desc = get_description(os.path.join(directory, script))
93+
print(f"{idx}. {script} - {desc}")
9394

94-
print("\n0. Esci")
95+
print("\n0. Esci")
9596

96-
try:
97-
choice = int(input("\nInserisci il numero corrispondente alla tua scelta: "))
98-
except ValueError:
99-
print("Scelta non valida. Inserire un numero.")
100-
return
97+
try:
98+
choice = int(input("\nInserisci il numero corrispondente alla tua scelta: "))
99+
except ValueError:
100+
print("Scelta non valida. Inserire un numero.")
101+
continue
101102

102-
if choice == 0:
103-
print("Uscita.")
104-
return
103+
if choice == 0:
104+
print("Uscita.")
105+
break
105106

106-
if 1 <= choice <= len(scripts):
107-
selected_script = os.path.join(directory, scripts[choice - 1])
108-
print(f"Esecuzione di {scripts[choice - 1]}...\n")
109-
# Avvia lo script selezionato usando l'interprete Python
110-
subprocess.run([sys.executable, selected_script])
111-
else:
112-
print("Scelta non valida.")
107+
if 1 <= choice <= len(scripts):
108+
selected_script = os.path.join(directory, scripts[choice - 1])
109+
print(f"Esecuzione di {scripts[choice - 1]}...\n")
110+
# Avvia lo script selezionato usando l'interprete Python
111+
subprocess.run([sys.executable, selected_script])
112+
print("\nScript completato.\n")
113+
else:
114+
print("Scelta non valida.")
113115

114116
if __name__ == '__main__':
115117
main()

scripts/audio_extract.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,4 +60,12 @@ def main():
6060
extract_audio(video_file, track_number)
6161

6262
if __name__ == "__main__":
63-
main()
63+
while True:
64+
main()
65+
scelta = input("\nUtilizza di nuovo lo script digitando 1 o premi 0 per ritornare a main.py: ").strip()
66+
if scelta == '1':
67+
continue
68+
elif scelta == '0':
69+
break
70+
else:
71+
print("Scelta non valida. Inserire 1 o 0.")

scripts/codec_expoler.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,4 +147,12 @@ def create_tree_tab(label):
147147
export_btn = tk.Button(root_window, text="Esporta in Excel o CSV", command=export_data)
148148
export_btn.pack(pady=10)
149149

150-
root_window.mainloop()
150+
while True:
151+
root_window.mainloop()
152+
scelta = input("\nUtilizza di nuovo lo script digitando 1 o premi 0 per ritornare a main.py: ").strip()
153+
if scelta == '1':
154+
continue
155+
elif scelta == '0':
156+
break
157+
else:
158+
print("Scelta non valida. Inserire 1 o 0.")

scripts/color_palette.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,13 @@ def extract_colors(image_path, num_colors=4):
5656
print(f"An error occurred: {e}")
5757

5858
if __name__ == "__main__":
59-
# Request image path from the user
60-
image_path = input("Please enter the path to the image: ").strip()
61-
extract_colors(image_path)
59+
while True:
60+
image_path = input("Please enter the path to the image: ").strip()
61+
extract_colors(image_path)
62+
scelta = input("\nUtilizza di nuovo lo script digitando 1 o premi 0 per ritornare a main.py: ").strip()
63+
if scelta == '1':
64+
continue
65+
elif scelta == '0':
66+
break
67+
else:
68+
print("Scelta non valida. Inserire 1 o 0.")

scripts/efolder.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,12 @@ def main():
3737
print("Il percorso inserito non è valido. Per favore riprova.")
3838

3939
if __name__ == "__main__":
40-
main()
40+
while True:
41+
main()
42+
scelta = input("\nUtilizza di nuovo lo script digitando 1 o premi 0 per ritornare a main.py: ").strip()
43+
if scelta == '1':
44+
continue
45+
elif scelta == '0':
46+
break
47+
else:
48+
print("Scelta non valida. Inserire 1 o 0.")

scripts/eml_converter.py

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,22 @@ def convert_eml_to_pdf(input_folder):
5151
pdfkit.from_string(html_content, pdf_path)
5252
print(f"Converted: {filename} -> {pdf_path}")
5353

54-
if __name__ == "__main__":
55-
# Richiede il percorso della cartella all'utente
56-
input_folder = input("Inserisci il percorso della cartella contenente i file .eml: ").strip()
5754

55+
def main():
56+
input_folder = input("Inserisci il percorso della cartella contenente i file .eml: ").strip()
5857
if not os.path.isdir(input_folder):
5958
print("Errore: Il percorso specificato non è una cartella valida.")
60-
sys.exit(1)
61-
59+
return
6260
convert_eml_to_pdf(input_folder)
63-
print("Tutti i file .eml sono stati convertiti in PDF nella cartella 'converted_pdfs'.")
61+
print("Tutti i file .eml sono stati convertiti in PDF nella cartella 'converted_pdfs'.")
62+
63+
if __name__ == "__main__":
64+
while True:
65+
main()
66+
scelta = input("\nUtilizza di nuovo lo script digitando 1 o premi 0 per ritornare a main.py: ").strip()
67+
if scelta == '1':
68+
continue
69+
elif scelta == '0':
70+
break
71+
else:
72+
print("Scelta non valida. Inserire 1 o 0.")

scripts/estensioni.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,12 @@ def main():
2525
print("Il percorso inserito non è valido. Per favore riprova.")
2626

2727
if __name__ == "__main__":
28-
main()
28+
while True:
29+
main()
30+
scelta = input("\nUtilizza di nuovo lo script digitando 1 o premi 0 per ritornare a main.py: ").strip()
31+
if scelta == '1':
32+
continue
33+
elif scelta == '0':
34+
break
35+
else:
36+
print("Scelta non valida. Inserire 1 o 0.")

scripts/image_downloader.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,5 +75,13 @@ def download_images(url):
7575
print(f"Errore nel download di {img_url}: {e}")
7676

7777
if __name__ == "__main__":
78-
url = input("Inserisci l'URL della pagina web: ")
79-
download_images(url)
78+
while True:
79+
url = input("Inserisci l'URL della pagina web: ")
80+
download_images(url)
81+
scelta = input("\nUtilizza di nuovo lo script digitando 1 o premi 0 per ritornare a main.py: ").strip()
82+
if scelta == '1':
83+
continue
84+
elif scelta == '0':
85+
break
86+
else:
87+
print("Scelta non valida. Inserire 1 o 0.")

scripts/pdf_combiner.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -639,4 +639,12 @@ def main():
639639
messagebox.showerror("Errore", f"Errore nell'avvio dell'applicazione: {e}")
640640

641641
if __name__ == "__main__":
642-
main()
642+
while True:
643+
main()
644+
scelta = input("\nUtilizza di nuovo lo script digitando 1 o premi 0 per ritornare a main.py: ").strip()
645+
if scelta == '1':
646+
continue
647+
elif scelta == '0':
648+
break
649+
else:
650+
print("Scelta non valida. Inserire 1 o 0.")

0 commit comments

Comments
 (0)