aboutsummaryrefslogtreecommitdiff
path: root/randoweb.py
diff options
context:
space:
mode:
authorLionel <lionel.miquel46@gmail.com>2018-10-04 00:22:29 +0200
committerLionel <lionel.miquel46@gmail.com>2018-10-04 00:22:29 +0200
commit0943dd142523b53e3748987fd16c77e6567c2fab (patch)
tree8c337dfc50793faf14eae2c28506ab55aa541515 /randoweb.py
parent8300c7e61860d2dedb85537041f96e49fa69eb87 (diff)
downloadrandopitons-0943dd142523b53e3748987fd16c77e6567c2fab.tar.gz
randopitons-0943dd142523b53e3748987fd16c77e6567c2fab.zip
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
Diffstat (limited to 'randoweb.py')
-rw-r--r--randoweb.py61
1 files changed, 61 insertions, 0 deletions
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)
+