diff options
author | Lionel <lionel.miquel46@gmail.com> | 2018-10-17 01:23:59 +0200 |
---|---|---|
committer | Lionel <lionel.miquel46@gmail.com> | 2018-10-17 01:23:59 +0200 |
commit | 8304477d9979431219830e7928ed11ebc7397189 (patch) | |
tree | a2cf6aaede5cb64b0fc7dddfccb5fe918741fe18 | |
parent | 480a2935e0eba6fe2577b10f317f2fdbea55d7ce (diff) | |
download | randopitons-8304477d9979431219830e7928ed11ebc7397189.tar.gz randopitons-8304477d9979431219830e7928ed11ebc7397189.zip |
salam les amis là c'est la hess je comprendspas pourquoi les downloads partent pas. je crois qu'il va falloir faire du cas par cas, ça fera plus de ligne de code mais pas grave, ça sera plus pratique putain
-rw-r--r-- | foldercreating.py | 34 | ||||
-rw-r--r-- | main.py | 15 | ||||
-rw-r--r-- | mapsparsing.py | 17 | ||||
-rw-r--r-- | randoweb.py | 106 |
4 files changed, 111 insertions, 61 deletions
diff --git a/foldercreating.py b/foldercreating.py index a4497d2..5a0d91d 100644 --- a/foldercreating.py +++ b/foldercreating.py @@ -9,7 +9,7 @@ import randoweb as rdo thehome=os.path.expanduser("~") defoldername="/Randopitons" def_folder=thehome+defoldername - +a_folder=0 @@ -37,28 +37,42 @@ def mainfolder(): pass except SyntaxError: - os.mkdir(def_folder) except KeyboardInterrupt: print e.sigkill + except: + raise -def mkfolder(MAIL,PSW,regionnames,foldernames,maptype,ptr,choice,bfn): +def mkfolder(MAIL,PSW,regionnames,foldernames,maptype,ptr,bfn): try: - os.mkdir(os.path.join(thehome,foldernames[ptr])) - rdo.randoweb(MAIL,PSW,regionnames[ptr],filetype,bfn) + if a_folder==0: + os.mkdir(os.path.join(def_folder,foldernames[ptr])) + else: + os.mkdir(os.path.join(a_folder,foldernames[ptr])) + rdo.randoweb(MAIL,PSW,regionnames[ptr],maptype,bfn) except OSError, er: print e.os print format(er) def mkallfolder(MAIL,PSW,regionnames,foldernames,maptype,bfn): - i=0 + iii=0 + a_str="str" try: - for foldernames in foldernames: - os.mkdir(os.path.join(thehome,str(foldernames))) - rdo.randoweb(MAIL,PSW,regionnames[i],maptype,bfn) - i=i+1 + for a_str in foldernames: + if a_folder==0: + os.mkdir(os.path.join(def_folder,a_str)) + else: + os.mkdir(os.path.join(a_folder,a_str)) + + + try: + print "on attaque par le "+regionnames[iii] + rdo.randoweb(MAIL,PSW,regionnames[iii],maptype,bfn) + except: + raise + iii=iii+1 #subprocess.call("rm -d "+fullpath) print "All folders were created successfully" except OSError, er: @@ -15,8 +15,11 @@ for i in range(9): pass import foldercreating as fdc basicfilename="" -randonb=[] -print clc.bold+"\n\nWelcome ! \nWith this script, you will be able to download gpx,trk and kml traces for hitchiking on the Reunion Isle."+clc.endc + +print clc.bold+"*************************************************************************************************************" +print clc.bold+"* Welcome ! *"+clc.endc +print clc.bold+"* With this script, you will be able to download gpx,trk and kml traces for hitchiking on the Reunion Isle. *"+clc.endc +print clc.bold+"*************************************************************************************************************" zonechoice=io.regioninput() zoneptr=zonechoice-1 maptype=io.mapfileinput() @@ -33,9 +36,11 @@ elif maptype==3: basicfilename="f.kml" fdc.mainfolder() -fdc.mkfolder(MAIL,PSW,webregionnames,foldernames,maptype,zoneptr,basicfilename) +if zonechoice == 10: + fdc.mkallfolder(MAIL,PSW,webregionnames,foldernames,maptype,basicfilename) +else: + fdc.mkfolder(MAIL,PSW,webregionnames,foldernames,maptype,zoneptr,basicfilename) + -if zonechoice == 10: - fdc.mkallfolder(MAIL,PSW,webregionnames,foldernames,maptype,zoneptr,basicfilename) diff --git a/mapsparsing.py b/mapsparsing.py index 7128f62..6caa37a 100644 --- a/mapsparsing.py +++ b/mapsparsing.py @@ -1,12 +1,12 @@ import xml.etree.ElementTree as xmlp import re -import errmsg as e - +import errmsg as reeee +import os def mapparsing(maptype,basicfilename): try: + tree=xmlp.parse(basicfilename) root=tree.getroot() if maptype==1: - tree=xmlp.parse(basicfilename) filename=root[1][0].text+".gpx" elif maptype==2: thefile=open(basicfilename) @@ -14,15 +14,14 @@ def mapparsing(maptype,basicfilename): thefile.readline() filename=re.findall(r'\|(.*?)\|', thefile.readline())[0]+".trk" elif maptype==3: - tree=xmlp.parse(basicfilename) filename= root[0][10][1][0].text+".kml" os.rename(basicfilename,filename) except OSError, e: - print e.os - except xmlp.ParseError, e: - print e.formaterr - print format(e) + print reeee.os + except xmlp.ParseError, er: + print reeee.formaterr + print format(er) os.remove(basicfilename) pass - return filename + diff --git a/randoweb.py b/randoweb.py index 5955f14..3957ef1 100644 --- a/randoweb.py +++ b/randoweb.py @@ -1,14 +1,23 @@ +# -*- coding: utf-8 -*- from requests import session import inputs from bs4 import BeautifulSoup as bs import colorcode as clc import errmsg as e import mapsparsing as mpp - - - - +randonb=[] +a_str="eh" +baseurl='https://randopitons.re/randonnee/' +def filei(dwnld,bfn): + try: + f=open(bfn,'a+') + gudencoding=dwnld.text.encode('utf-8') + f.write(gudencoding) + f.close() + except: + raise + def randoweb(MAIL,PSW,region,maptype,bfn): payload = { 'mail': MAIL, @@ -18,39 +27,62 @@ def randoweb(MAIL,PSW,region,maptype,bfn): with session() as c: try: - post('https://randopitons.re/connexion', data=payload) - region = c.get('https://randopitons.re/randonnees/region/'+region) - wsite=bs(region) - for i in wsite.find_all('tr'): - randonb.append(i.get("rid")) - except SSLError, sslerr: - print e.sslerr - - try: - for i in randonb: - dwnld="all the interwebz" - if maptype==1: - dwnld = c.get('https://randopitons.re/randonnee/'+i+'/trace/gpx') - gpxf=open(bfn,'a+') - elif maptype==2: - dwnld = c.get('https://randopitons.re/randonnee/'+i+'/trace/kml') - gpxf=open(bfn,'a+') - else: - dwnld = c.get('https://randopitons.re/randonnee/'+i+'/trace/trk') - gpxf=open(bfn,'a+') - - gudencoding=dwnld.text.encode('utf-8') - gpxf.write(gudencoding) - gpxf.close() + c.post('https://randopitons.re/connexion', data=payload) + regionpage = c.get('https://randopitons.re/randonnees/region/'+region) + try: + wsite=bs(regionpage.text, "lxml") + print "Voici les donnees:"+regionpage.text + except: + raise + try: + for i in wsite.find_all('tr'): + randonb.append(i.get("rid")) + try: + randonb.pop(0) + print "POPPED" + except: + raise + print "Voici les numéros de randos:" + print randonb + except: + raise - mpp.mapparsing(maptype,bfn) - print("Finished writing files.") - except OSError, er: - print e.os - print format(er) - - + + + try: + for i in randonb: + if maptype==1: + try: + dwnld = c.get(baseurl+i+'/trace/gpx') + except TypeError: + pass + except: + raise + filei(dwnld,bfn) + elif maptype==2: + try: + dwnld = c.get(baseurl+i+'/trace/kml') + except TypeError: + pass + except: + raise + filei(dwnld,bfn) + else: + try: + dwnld = c.get(baseurl+i+'/trace/trk') + except TypeError: + pass + except: + raise + filei(dwnld,bfn) + except: + raise + try: + mpp.mapparsing(maptype,bfn) + except: + raise + print("Finished writing file.") + except : + raise -#print(response.headers) -#print(response.text) |