Skip to content

La libreria "GoogleCalendarUnife" è uno script Python che scarica automaticamente le lezioni di informatica dal sito dell'Università di Ferrara (Unife) e le carica su un calendario Google

Notifications You must be signed in to change notification settings

MonkeFe/GoogleCalendarUnife

Repository files navigation

Calendario lezioni unife


Language linux rspberry github WAM

unife

Questo è un semplice script che scarica le lezioni di informatica dal sito di unife e le carica in automatico su un calendario google.

Setup API Google

Configura l'ambiente

Per completare questa guida rapida, configura il tuo ambiente.

Abilita l'API Prima di utilizzare le API di Google, devi attivarle in un progetto Google Cloud. Puoi attivare una o più API in un singolo progetto Google Cloud. Nella console Google Cloud, abilita l'API Google Calendar.

Abilita l'API

Configurare la schermata per il consenso OAuth Se utilizzi un nuovo progetto Google Cloud per completare questa guida rapida, configura schermata per il consenso OAuth e aggiungiti come utente di test. Se hai già hai completato questo passaggio per il tuo progetto Cloud, passa alla sezione successiva.

Nella console Google Cloud, vai al Menu menu > API e Servizi > Schermata consenso OAuth. Vai alla schermata per il consenso OAuth

In Tipo di utente, seleziona Interno, quindi fai clic su Crea. Compila il modulo di registrazione dell'app, quindi fai clic su Salva e continua. Per il momento, puoi saltare l'aggiunta di ambiti e fare clic su Salva e continua. In futuro, quando creerai un'app da utilizzare al di fuori del tuo Nell'organizzazione Google Workspace, devi modificare il Tipo di utente in Esterno e poi aggiungi gli ambiti di autorizzazione richiesti dalla tua app.

Esamina il riepilogo della registrazione dell'app. Per apportare modifiche, fai clic su Modifica. Se l'app la registrazione sembra a posto, fai clic su Torna alla Dashboard. Autorizzare le credenziali per un'applicazione desktop Per autenticare gli utenti finali e accedere ai dati utente nella tua app, devi: Creare uno o più ID client OAuth 2.0. L'ID client viene utilizzato per identificare singola app ai server OAuth di Google. Se la tua app viene eseguita su più piattaforme, devi creare un ID cliente distinto per ogni piattaforma. Nella console Google Cloud, vai a Menu menu > API e Servizi > Credenziali. Vai a credenziali

  1. Fai clic su Crea credenziali > ID client OAuth.
  2. Fai clic su Tipo di applicazione > App desktop.
  3. Nel campo Nome, digita un nome per la credenziale. Questo nome viene visualizzato solo nella console Google Cloud.
  4. Fai clic su Crea. Viene visualizzata la schermata di creazione del client OAuth, che mostra il nuovo ID client e il nuovo client secret.
  5. Fai clic su OK. Le credenziali appena create vengono visualizzate nella sezione ID client OAuth 2.0.
  6. Salva il file JSON scaricato come credentials.json e sposta il nella directory di lavoro.

Setup Progetto

Si consiglia la creazione di un ambiente virtuale Python per la gestione delle dependencies:

python3 -m venv <venv_path>

Normalmente IDE come Visual Studio Code usano il percorso .venv per l'ambiente virtuale.

Installazione

Installare i pacchetti del progetto con:

pip install -r requirements.txt

Creare un file .env con dentro l'id del calendario, l'anno scolastico del primo semestre e l'anno scolastico del secondo semtre, un esempio si può trovare nel file .env.example

Setup calendari

Il programma sincronizzerà i calendari dei corsi impostati nel file calendar.json, per il momento i dati sono impostati a mano in attesa di poter accedere a delle api ufficiali.

Esecuzione

Custom

Per eseguire lo script è necessario abilitare l'ambiente virtuale:

source <venv_path>/bin/activate

Script

La repository mette a disposizione uno script bash per l'automatizzazione dell'esecuzione:

./execute

Automatizzata

Per l'automatizzazione si consiglia l'uso di utilities come cronie che permettono l'esecuzione periodica di comandi shell:

crontab -e
# Inserire il percorso dello script da eseguire periodicamente preceduto da N asterischi
0 * * * * /abs/path/to/GoogleCalendarUnife/execute.sh

Per cambiare il tempo tra una esecuzione e l'altra (1h come indicato precedentemente) si consiglia la guida ufficiale

TO DO

  • Gestione dei corsi facoltativi prevedendo la possibilità di scegliere di quali lezioni visualizzare l'orario

About

La libreria "GoogleCalendarUnife" è uno script Python che scarica automaticamente le lezioni di informatica dal sito dell'Università di Ferrara (Unife) e le carica su un calendario Google

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •