enhance path management

This commit is contained in:
Emmanuel Viennet 2021-11-06 17:23:53 +01:00
parent f6dfa912d7
commit afb94cb011
2 changed files with 23 additions and 4 deletions

View File

@ -0,0 +1,18 @@
# Portail pour tests
Un faux portail "apogée" pour inscrire de faux étudiants avec photos. Utile pour
tester les fonctions d'inscription/synchronisation, et aussi pour peupler
rapidement une base de donnée.
Le serveur écoute par défaut sur `tcp/8678`. Il faudra paramétrer l'URL du
"portail" dans les préférences du ScoDoc à tester, qui est en général sur le
même hôte, donc `http://localhost:8678`.
Lancement:
cd /opt/scodoc
./tools/fakeportal/fakeportal.py

View File

@ -17,9 +17,10 @@ import time
from gen_nomprenoms import nomprenom from gen_nomprenoms import nomprenom
script_dir = Path(os.path.abspath(__file__)).parent script_dir = Path(os.path.abspath(__file__)).parent
os.chdir(script_dir)
# Les "photos" des étudiants # Les "photos" des étudiants
FAKE_FACES_FILENAMES = list((script_dir / "faces").glob("*.jpg")) FAKE_FACES_PATHS = list((Path("faces").glob("*.jpg")))
# Etudiant avec tous les champs (USPN) # Etudiant avec tous les champs (USPN)
ETUD_TEMPLATE_FULL = open(script_dir / "etud_template.xml").read() ETUD_TEMPLATE_FULL = open(script_dir / "etud_template.xml").read()
@ -79,11 +80,11 @@ def get_photo_filename(nip: str) -> str:
Returns a path relative to the current working dir Returns a path relative to the current working dir
""" """
# #
nb_faces = len(FAKE_FACES_FILENAMES) nb_faces = len(FAKE_FACES_PATHS)
if nb_faces == 0: if nb_faces == 0:
print("WARNING: aucun fichier image disponible !") print("WARNING: aucun fichier image disponible !")
return "" return ""
return Path(FAKE_FACES_FILENAMES[hash(nip) % nb_faces]).relative_to(Path.cwd()) return FAKE_FACES_PATHS[hash(nip) % nb_faces]
class MyHttpRequestHandler(http.server.SimpleHTTPRequestHandler): class MyHttpRequestHandler(http.server.SimpleHTTPRequestHandler):
@ -161,4 +162,4 @@ if __name__ == "__main__":
my_server.serve_forever() my_server.serve_forever()
finally: finally:
print("shutting down...") print("shutting down...")
my_server.shutdown() my_server.shutdown()