Closed Picred closed 11 months ago
tested
c'è un caso da considerare
module/commands/lezioni.py:35:0: R1710: Either all return statements in a function should return an expression, or none of them should. (inconsistent-return-statements)
dalla tua funzione si può intuire che solo se si entra in uno specifico if
si otterrà un valore in return
, quindi il return type dovrebbe essere bytes oppure None, che puoi definire mediante bytes | None
oppure più elegantemente Optional[byes]
questo farebbe stare buono pylint però se la tua funzione non ritorna nulla questa parte di codice dà errore e l'utente rimane appeso
file = BytesIO(get_orario_file())
file.name = "Orario.pdf"
context.bot.sendDocument(chat_id=update.effective_chat.id, document=file)
potresti mettere una condizione nel caso in cui file
è None
ed inviare un messaggio all'utente con qualcosa come "Orario lezioni non disponibile, riprova più tardi"
p.s. è interessante notare come l'utilizzo dei type hints su python e di pylint possa prevenire questi problemi, perchè se il sito DMI è down questo problema può succedere benissimo
Il download del file avverrà in /data/Orario.pdf
.
Un file Orario.pdf è considerato scaduto dopo 1 giorno.
Ho reso costanti queste variabili in modo da poterle modificare facilmente
/lezioni
che invia all'utente il pdf contenente l'orario delle lezioni chiamato "Orario.pdf".lezioni_link.md
e ho usato solamente il primo linkL-31
L'unico dubbio era se avevate consigli riguardo le due costanti
HREF_TOKEN
eDMI_LINK
(come, per esempio, il file più adatto dove poterle salvare)closes #259