overclokk / py-youtube-downloader

MIT License
2 stars 1 forks source link

GUI for newbie #6

Open overclokk opened 2 years ago

overclokk commented 2 years ago

Da valutare una interfaccia (con eseguibile) per chi non è pratico ma vole comunque usare lo script.

Per l'interfaccia mi sembra di aver capito che lo strumento sia tkinter.

Ared0 commented 2 years ago

Azzardo la pazzia. Se facciamo diventare tutto una webapp? Programmare le GUI in altro modo è un cancro 🤣

Ci stavo pensando più che altro perchè se vogliamo automatizzare anche l'upload l'unico modo che mi sembra di aver trovato è avere una GUI. YouTube vuole che implementi l'authorization flow e non credo di averlo mai visto implementato a riga di comando.

Possiamo separare il programma in un paio di microservizi. Implementiamo le funzionalità come API separate e le usiamo sia da riga di comando sia da ipotetica webapp.

La webapp la usiamo solo in locale o al limite per chi è meno pratico possiamo implementarla facilmente in Electron e risparmiamo molta fatica.

overclokk commented 2 years ago

Ci sto pensando su per capire bene l'effort.

Il primo ha importanza maggiore perché siamo solo in due a sviluppare 🤣

Però dobbiamo verificare quanto tempo serve per fare della formazione e insegnare a usare il tool da CLI.

Webapp comunque ha effort importante.

Per quanto riguarda l'upload ci sono le API di YouTube e anche una libreria python dedicata https://developers.google.com/youtube/v3/guides/uploading_a_video il problema però è che per usarla bisogna crearsi un file json con le credenziali e sinceramente per questioni di sicurezza meglio evitare visto che siamo in tanti a gestire il canale, volendo si potrebbe abbinare anche un db per storare i dati di accesso ma come detto sopra richiede effort.

L'upload comunque si può avere in un tool separato perché tanto ha bisogno di un passaggio dedicato aggiuntivo oltre al download e al cut.

Per l'upload stavo appunto pensando di usare https://developers.google.com/apps-script/advanced/youtube ho fatto una cosa simile usando GAS per prendere dati da YT e buttarli in una tabella, con GAS si può anche creare una GUI con un form (ho visto anche usare Reactjs con GAS), fa tante cose e il vantaggio è che essendo integrata si fa direttamente l'accesso da browser senza dover scaricare credenziali e salvarle sul pc ma richiede comunque un certo effort.

Con GAS si può creare una interfaccia per modificare la descrizione dei video.