Убрал отладочную печать.
[pyrungps.git] / pyrungps.py
index 0f0dc563206b28a58116df86a2b1c2ab3342a2ae..bfff892fca2164b19b10c762e1b6175e18f642f4 100644 (file)
@@ -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;