X-Git-Url: https://git.rvb.name/pyrungps.git/blobdiff_plain/81020ed69398f00cdb0564a132dfdf0285e9b844..c49b871ebc265b1a2030482ca68f89ed920884ff:/pyrungps.py diff --git a/pyrungps.py b/pyrungps.py index 0f0dc56..bfff892 100644 --- a/pyrungps.py +++ b/pyrungps.py @@ -26,7 +26,7 @@ def get_page(uname,year,month): trainings = [] req = requests.get("http://www.gps-sport.net/services/getMonthlyTrainingDataHTML_V2.jsp?userName=%s&year=%s&month=%s&rnd=0.645673"% (uname,year,month), headers = {'User-agent': 'Mozilla/5.0'}) - page = req.text.encode() + page = req.text.encode('utf-8') dom = html.document_fromstring(page) for element, attribute, link, pos in dom.iterlinks(): @@ -43,7 +43,7 @@ def get_gpx_track(trid,name): print "trid=",trid req = requests.get("http://www.gps-sport.net/services/trainingGPX.jsp?trainingID=%s&tz=-180" % (trid)) - xml = etree.fromstring(req.text.encode()) + xml = etree.fromstring(req.text.encode('utf-8')) return xml @@ -53,7 +53,7 @@ def get_osm_list(username,password,year,month): req = requests.get(url,auth=(username,password)) - xml = etree.fromstring(req.text.encode()) + xml = etree.fromstring(req.text.encode('utf-8')) res=[] @@ -81,7 +81,7 @@ def get_osm_gpx(username,password,track_id): url = "https://www.openstreetmap.org/api/0.6/gpx/"+track_id+"/data" req = requests.get(url,auth=(username,password)) - xml = etree.fromstring(req.text.encode()) + xml = etree.fromstring(req.text.encode('utf-8')) return xml @@ -105,7 +105,7 @@ def get_db_gpx(dbx,track_id): os.remove(tmp_gpx_name) os.remove(tmp_tcx_name) - xml = etree.fromstring(data.encode()) + xml = etree.fromstring(data.encode('utf-8')) return xml def get_dbx_list(dbx,username,year,month): @@ -253,6 +253,7 @@ def sync_folder(username,year,month,dir=".",verbose=False,force=False): training_list = get_page(username,year,month) for tr in training_list: + try: filename = "%s/%04d/%02d/%s_%s.gpx" % (dir,year,(month+1),tr[0],tr[1]) dirname = "%s/%04d/%02d" % (dir,year,(month+1)) @@ -277,6 +278,13 @@ def sync_folder(username,year,month,dir=".",verbose=False,force=False): gpx = pygpx.GPX() gpx.ReadTree(xml) + sport = tr[0] + timestamp = gpx.tracks[0].start_time() + + if check_db_for_training(db,sport,timestamp): + print "The same training found" + continue + gpx.FixNames(tr[0]) gpx.ProcessTrackSegs() @@ -290,6 +298,9 @@ def sync_folder(username,year,month,dir=".",verbose=False,force=False): except: None + except: + raise + def main(): global db;