From 081402832b9f708a94bf89c2450302c0ab962e27 Mon Sep 17 00:00:00 2001 From: Mylloon Date: Fri, 14 Jan 2022 15:23:27 +0100 Subject: [PATCH] Adding a skeleton --- main.py | 46 ++++++++++++++++++++++++++++++---------------- 1 file changed, 30 insertions(+), 16 deletions(-) diff --git a/main.py b/main.py index 4caa3e4..cabe5f4 100644 --- a/main.py +++ b/main.py @@ -19,8 +19,8 @@ class Universite: with open("page.html", 'w') as f: f.write(texte) - def recuperationNotes(self) -> str: - """Récupère les notes.""" + def recuperationNotes(self) -> dict: + """Récupère les notes sous forme d'un dictionnaire.""" with BaseSession() as session: reponse = session.get(self.url) @@ -41,31 +41,45 @@ class Universite: # choix des années url = f"{url}?{[element.attrs['action'] for element in reponse.html.find('form') if 'enctype' in element.attrs if element.attrs['enctype'] == 'application/x-www-form-urlencoded'][0].split('?')[1].replace('welcome', 'notes')}" reponse = session.get(url) - self.ecrirePageHTML(reponse.text) # page des notes # TODO - # récupération tableaux des notes - """ soup = self.maSoupe(reponse) - for attrs in soup.findAll("table"): - try: - texte = str(attrs).split("thead")[1][2:-2] - while " " in texte: - texte = texte.replace(" ", ' ') - return texte - except: - pass """ - return "WIP" + return self.stringVersDictNotes(reponse.text) + + def stringVersDictNotes(self, html: str) -> dict: + """Récupère la page HTML contenant les notes et renvoie un dictionnaire.""" + self.ecrirePageHTML(html) + + # récupération tableaux des notes + """ soup = self.maSoupe(reponse) + for attrs in soup.findAll("table"): + try: + texte = str(attrs).split("thead")[1][2:-2] + while " " in texte: + texte = texte.replace(" ", ' ') + return texte + except: + pass """ + + return {"WIP": None} + + def affichageNotes(self, notes: dict) -> str: + """Renvoie un jolie tableau avec les notes""" + return str(notes) + + def notes(self): + """Affiche les notes dans stdout.""" + print(self.affichageNotes(self.recuperationNotes())) if __name__ == "__main__": nom = argv.pop(0) if len(argv) == 3: - print(Universite(*argv).recuperationNotes()) + Universite(*argv).notes() else: load_dotenv() try: - print(Universite(environ["URL"], environ["LOGIN"], environ["PASSWORD"]).recuperationNotes()) + Universite(environ["URL"], environ["LOGIN"], environ["PASSWORD"]).notes() except: print(f"""Merci de renseigner l'URL, le pseudo et le mot de passe (avec des \"). \ \n-> python3 {nom} "URL" "pseudo" "mot-de-passe" \