Package: unimi-dl
unimi-dlScript in Python 3 per scaricare videolezioni dai portali usati da Unimi.EnglishWhat's new - v0.3 MenusMajor improvements to usability.Release notesAddedInteractive menus:The videos to download are now interactively chosen from a list, unless the-aoption is specified. This behavior doesn't apply on Panopto since every URL corresponds to one video.Cleanup downloaded mode (--cleanup-downloadedoption) lets the user choose what videos not to consider downloaded anymore (transparent API todownloaded.json)Wipe credentials mode (--wipe-credentialsoption) lets the user delete their saved credentialsAdd to downloaded mode (--add-to-downloaded-onlyoption) lets the user add the selected videos to the downloaded list without actually downloading them (differs from the--simulateoption in that the latter doesn't add the videos to the list).-aoption lets the user download all videos which were not previously downloaded (the previous default behavior)ChangedThe default behavior for downloading is now the interactive choice. For the previously default behavior use-aIMPORTANT: the downloaded list now stores both the manifests and the video titles. The new format is not compatible with the old one, therefore you might have to deletedownloaded.json(it resides in the same directory specified forcredentials.jsoninunimi-dl --help). In this case you may find useful using--add-to-downloaded-onlyfor re-adding previously downloaded videos.Quickstartpip3 install unimi-dl
unimi-dl --helpInstallazioneInstalla ffmpeg e python3 se non presentiScegli uno dei seguenti metodi:Con pip (consigliato)Installa python3-pip se non presenteInstalla unimi-dl:pip3 install unimi-dl
unimi-dl --helpClonando con gitInstalla git se non presenteInstalla ledipendenzese non presentiClona la repo:git clone https://github.com/SimpoLab/unimi-dl.gitUsa il software dalla directory della repo:cd unimi-dl
python3 -m unimi_dl --helpNota: con questo metodo è necessario tenere la repo clonata per fare uso del software.DipendenzeEsternepython 3 (>=3.8)ffmpegPythonrequestsyoutube-dlUtilizzoTieni presente che il software è sotto heavy-development, per cui potrebbe essere necessario o utileaggiornarloperiodicamente.usage: unimi-dl [-h] [-p platform] [-s] [--ask] [-c PATH] [-o PATH] [-v] [-a] [--version] [--simulate] [--add-to-downloaded-only] [--cleanup-downloaded]
                [--wipe-credentials]
                URL

Unimi material downloader

positional arguments:
  URL                   URL of the video(s) to download

optional arguments:
  -h, --help            show this help message and exit
  -p platform, --platform platform
                        platform to download the video(s) from (default: ariel)
  -s, --save            saves credentials (unencrypted) on disk for future use
  --ask                 asks credentials even if stored
  -c PATH, --credentials PATH
                        path of the credentials json to be used for logging into the platform
  -o PATH, --output PATH
                        directory to download the video(s) into
  -v, --verbose
  -a, --all             download all videos not already present
  --version             show program's version number and exit

other modes:
  --simulate            retrieve video names and manifests, but don't download anything nor update the downloaded list
  --add-to-downloaded-only
                        retrieve video names and manifests, but don't download anything, only update the downloaded list
  --cleanup-downloaded  interactively select what videos to clean from the downloaded list
  --wipe-credentials    delete stored credentialsIn modalità download, modalità di default quando viene inserito un URL, il software recupera i video disponibili e mostra un menu in cui l'utente seleziona quali scaricare. La selezione può essere effettuata specificando i numeri che corrispondono ai video come lista di range separati da virgole, ad esempio1,3-5,12, 14 - 20. Il menu non viene mostrato per la piattaforma Panopto dal momento che ad ora vi si può scaricare un solo video per volta.Il programma tiene traccia, in un file di cache, dei video scaricati, in modo da evitare di ripeterne il download.La modalità simulate (--simulate) e la modalità add to downloaded only (--add-to-downloaded-only) equivalgono alla modalità download se non nel fatto che la prima simula l'esecuzione senza scaricare né aggiungere alla lista degli scaricati e la seconda aggiunge solo alla lista degli scaricati, senza scaricare.La modalità cleanup downloaded (--cleanup-downloaded) permette di scegliere interattivamente quali video rimuovere dalla lista degli scaricati. La selezione funziona esattamente come quella per scaricare in modalità download.La modalità wipe credentials (--wipe-credentials) permette di eliminare le credenziali salvate con--save. Si noti che per sovrascrivere le credenziali salvate con nuove è sufficiente specificare i due flag--savee--askcontemporaneamente.ArielUsando il tuo browser, trova la pagina che contiene i video che vuoi scaricare, copiane l'URL e usalo come segue:unimi-dl -p ariel "https://unsito.ariel.ctu.unimi.it/paginadelleregistrazioni"Panopto (labonline)Usando il tuo browser, trova la pagina che contiene l'anteprima video che vuoi scaricare. L'anteprima deve apparire in un riquadro con in basso a destra la freccia :arrow_upper_right: (in gergo, uniframe). Copia l'URL della pagina e usalo come segue:unimi-dl -p panopto "https://unsito.labonline.ctu.unimi.it/paginedellanteprima"Featuresnon ripetere download già effettuatipermettere l'eliminazione trasparente delle credenzialipermettere la scelta interattiva di video da scaricare o eliminare dalla cachescaricare video da Arielscaricare video da Panoptotenere salvate le credenzialicontrollare che le credenziali siano validescaricare video da Microsoft StreamUpdateIl metodo di aggiornamento dipende dal metodo di installazione:Con pippip3 install --upgrade unimi-dlCon gitcd /percorso/della/repo/unimi-dl
git pull(Oppure eliminare la repo e ripetere l'installazione)DisclaimerNo, non è illegale. Non stiamo facendo ridistribuzione non autorizzata. Chi ha accesso ai web player può scaricare i video. Crediamo che poter scaricare i video renda molto più semplice fruirne, potendo sfruttare, ad esempio, i vantaggi dei player offline e evitarci il fastidio di una cattiva connessione.Issue guidelineSe vuoi segnalarci un bug, o suggerire un miglioramento, il modo migliore per farlo è tramite unaissue. Ricordati di scegliere il giusto tag e, se si tratta di un bug (un malfunzionamento), includi un log. Il log è un file generato da unimi-dl che contiene informazioni utili a risolvere il bug. Puoi trovarlo in$HOME/.local/share/unimi-dl/log.txtsu Linux,Users\[proprio utente]\AppData\Roaming\unimi-dl\log.txtsu Windows, e$HOME/Library/'Application Support'/unimi-dl/log.txtsu MacOS.LicenzaGPL v.3ContributingSul progettoGeneral TODOsi trovano i prossimi obiettivi stabiliti dai maintainer principali. Se hai intenzione di sviluppare una di tali feature, controlla prima che non sia negli "In progress" del progetto e nella discussionWorking onper assicurarti che non ci stia già lavorando qualcuno. Sia se vuoi implementare uno dei sopracitati obiettivi (specialmente in questo caso), sia se vuoi sviluppare una personale idea, ti preghiamo di notificarlo nella suddetta discussion.Se non hai accesso diretto alla repo, forkala, implementa la tua proposta di modifica in una branch nominata appropriatamente e apri una pull request.Se sei un maintainer principale (con accesso diretto alla repo), puoi direttamente modificare il project ignorando la discussion.Code etiquetteinserire la documentazione quantomeno nelle funzioni e classi principaliogni portale ha un modulo suoinserire piùtype hintingpossibileusare la libreria standard a meno che sia particolarmente scomodogli import vanno in ordine alfabetico (:sort)delimitare le stringhe con"best practice comuniper l'implementazione di nuove feature creare sempre un branch