From 0943dd142523b53e3748987fd16c77e6567c2fab Mon Sep 17 00:00:00 2001 From: Lionel Date: Thu, 4 Oct 2018 00:22:29 +0200 Subject: Ouai déso pour les injures dans le code, faut bien décompresser défois. Sinon un peu plus de clarté, on suit un peu plus le principe de la fonction qui fait une chose et qui le fait bien. Division entre les demandes d'input utilisateur, du parsing des fichiers de randonnées, de la création des dossiers, requêtes vers le web pour télécharger nos fameuses cartes. Et des codes pour les couleurs. Plus à venir, notamment avec les codes d'erreurs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- randoweb.py | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 randoweb.py (limited to 'randoweb.py') diff --git a/randoweb.py b/randoweb.py new file mode 100644 index 0000000..c714a40 --- /dev/null +++ b/randoweb.py @@ -0,0 +1,61 @@ +from requests import session +import getpass + +import os +from bs4 import BeautifulSoup as bs + + + + +def main(region,maptype): + MAIL=raw_input("Your email to log in to randopitons.re : ") + PSW=getpass.getpass(prompt="Your password to log in to randopitons.re: ") + + + payload = { + 'mail': MAIL, + 'password': PSW + } + + with session() as c: + try: + post('https://randopitons.re/connexion', data=payload) + except SSLError, sslerr: + print "SSL Certificate Error. Please check the time on your computer, adjust it accordingly, or wait a bit before retrying the downloads." + + region = c.get('https://randopitons.re/randonnees/region/'+region) + wsite=bs(region) + + randonb=[] + for i in wsite.find_all('tr'): + randonb.append(i.get("rid")) + + try: + for i in randonb: + dwnld = c.get('https://randopitons.re/randonnee/'+i+'/trace/'+maptype) + gudencoding=dwnld.text.encode('utf-8') + gpxf=open('f.gpx','a+') + gpxf.write(gudencoding) + gpxf.close() + try: + tree=xmlp.parse('f.gpx') + root=tree.getroot() + filename=root[1][0].text+".gpx" + os.rename('f.gpx',filename) + except OSError, e: + print("Operating System error: {0}".format(e)) + except xml.etree.ElementTree.ParseError,e: + print("Something occured with the formating:{0} . File is not retrievable, passing on next download.".format(e)) + os.remove('f.gpx') + pass + + + print("FINISHED WRITING FILES") + except OSError, e: + print("Operating System error: {0}".format(e)) + + + + print(response.headers) +print(response.text) + -- cgit v1.2.3-70-g09d2