Inclusione

Di seguito è spiegato come ottenere il pacchetto nel proprio script di Python

Scarica

Il pacchetto può essere scaricato da PyPI tramite pip, il progetto si trova qui

python -m pip install Classeviva.py

Importazione

Una volta installato il pacchetto, i suoi moduli possono essere importati tramite il comando import

import classeviva # importa il modulo
import classeviva.eccezioni # importa il modulo che contiene le eccezioni
from classeviva import * # importa tutto da Classeviva.py

Facendo questo si tenga conto che il modulo classeviva contiene anche i sottomoduli, grazie a queste importazioni

from .collegamenti import collegamenti as c
from .eccezioni import eccezioni as e
from .variabili import variabili as v

Quindi è possibile includere nel proprio programma i sottomoduli in un altro modo, seppur sconsigliato

from classeviva import c as collegamenti # importa il sottomodulo collegamenti passando da classeviva

Intro [1]

Per iniziare può essere utile visionare i primi passi per l’interazione con l’API di Classeviva

Utente

  • Inizializzare una variabile utente con un oggetto di tipo classeviva.Utente

>>> from classeviva import *
>>> utente = classeviva.Utente("S8733880I", "PasswordSegretissima")
  • Iniziare la sessione di accesso all’API, che durerà 5400 secondi

>>> utente()
  • Verificare se la sessione è attiva

>>> utente.stato
True
  • Verificare se il tempo è trascorso senza fare richieste HTTP

>>> utente.connesso
False
  • Richiedere l’elenco dei documenti e richiedere la conferma dell’esistenza del documento

>>> doc = asyncio.run(utente.documenti())
>>> print(asyncio.run(utente.controlla_documento(doc["documents"][0]["hash"])))
True
  • Richiedere l’elenco delle assenze e assegnarle a una variabile

>>> assenze = asyncio.run(utente.assenze())
  • Richiedere l’elenco delle lezioni di una determinata materia in un range di date

>>> lezioni = asyncio.run(utente.lezioni_da_a_materia("2023-01-01", "2023-01-31", "206164"))
[
    ...,
    {
        'evtId': 9673367,
        'evtDate': '2023-01-26',
        'evtCode': 'LSF0',
        'evtHPos': 4,
        'evtDuration': 1,
        'classDesc': '3QS SCIENTIFICO - OPZIONE SCIENZE APPLICATE QUADRIENNALE',
        'authorName': 'Nome Cognome', # Nome e cognome dell'insegnante
        'subjectId': 206164, # ID della materia (in questo caso Informatica), lo stesso ID usato come parametro per lezioni_da_a_materia
        'subjectCode': None,
        'subjectDesc': 'INFORMATICA',
        'lessonType': 'Attività di laboratorio',
        'lessonArg': 'Correzione esercizio per casa. Creazione di progetti con classi in file separati.'
    },
    {
        'evtId': 9881475,
        'evtDate': '2023-01-28',
        'evtCode': 'LSF0',
        'evtHPos': 4,
        'evtDuration': 1,
        'classDesc': '3QS SCIENTIFICO - OPZIONE SCIENZE APPLICATE QUADRIENNALE',
        'authorName': 'ANTONIAZZI ALESSANDRA',
        'subjectId': 206164,
        'subjectCode': None,
        'subjectDesc': 'INFORMATICA',
        'lessonType': 'Attività di laboratorio',
        'lessonArg': 'Lavoro di gruppo: creazione videogioco OOP in C++'
    },
    ...
]

Note