corso-python-prato / share-system-team2

Apache License 2.0
2 stars 9 forks source link

mancata gestione dell'eccezione in load_userdata() #74

Closed hiryuken closed 9 years ago

hiryuken commented 10 years ago

All'avvio del server viene invocata la funzione load_userdata() per caricare in ram in file json con i dati degli utenti del server. La funzione gestisce l'eventuale errore di IO (mancato accesso al file, mancata lettura, ecc) con un semplice pass:


try: with open(USERDATA_FILENAME, 'rb') as fp: data = json.load(fp, 'utf-8') except IOError:

If the user data file does not exists, don't raise an exception.

    # (the file will be created with the first user creation)
    pass

Effettivamente, la mancanza del file non è preoccupante, potrebbe semplicemente indicare un primo avvio del server dove nessun utente si è ancora registrato, tuttavia, sarebbe opportuno verificare se esiste o meno il filestorage (quindi il server è giù stato in funzione) ed eventualmente gestire la presenza di cartelle utente nel filesystem. Si potrebbe pensare per esempio, di cancellare le cartelle orfane oppure tentare una ricostruzione dello userdata.

GendoIkari commented 9 years ago

Come detto a voce, non importa garantire che tutto funzioni anche se qualcuno "sabota" il server. Che nessuno vada a sabotare il server.