Исправлены URL, добавлены User-Agent и Referer в обращении к Nominatim
[pyrungps.git] / pyrungps.py
index 76d52f118ab126f3f2b6cf75249e4459baa35ace..bff314aee32a87d1587c53f9107926d892303494 100644 (file)
@@ -10,11 +10,13 @@ from datetime import date
 from parsegpx import write_parsed_to_db
 import pygpx
 
+import render_tiles
+
 def get_page(uname,year,month):
   
   trainings = []
 
-  req = urllib2.Request("http://www.gps-sport.net/embedCalendar.jsp?userName=%s&year=%s&month=%s"% (uname,year,month), None, {'User-agent': 'Mozilla/5.0'})
+  req = urllib2.Request("http://www.gps-sport.net/services/getMonthlyTrainingDataHTML_V2.jsp?userName=%s&year=%s&month=%s&rnd=0.645673"% (uname,year,month), None, {'User-agent': 'Mozilla/5.0'})
   page = urllib2.urlopen(req).read()
   dom = html.document_fromstring(page)
 
@@ -29,7 +31,9 @@ def get_page(uname,year,month):
 
 def get_gpx_track(trid,name):
 
-  req = urllib2.urlopen("http://www.gps-sport.net/services/trainingGPX.jsp?trainingID=%s" % (trid))
+  print "trid=",trid
+
+  req = urllib2.urlopen("http://www.gps-sport.net/services/trainingGPX.jsp?trainingID=%s&tz=-180" % (trid))
   
   xml = etree.parse(req)
 
@@ -40,7 +44,8 @@ def sync_folder(username,year,month,dir=".",verbose=False,force=False):
     training_list = get_page(username,year,month)
     for tr in training_list:
 
-      filename = "%s/%s_%s.gpx" % (dir,tr[0],tr[1])   
+      filename = "%s/%04d/%02d/%s_%s.gpx" % (dir,year,(month+1),tr[0],tr[1])   
+      dirname = "%s/%04d/%02d" % (dir,year,(month+1))
 
       if os.path.exists(filename) and not force:
 
@@ -48,7 +53,12 @@ def sync_folder(username,year,month,dir=".",verbose=False,force=False):
           print "training %s exists, skipping" % (filename)
 
       else:  
-    
+
+        try:
+          os.makedirs(dirname)    
+        except:
+          None
+          
         xml=get_gpx_track(tr[1],tr[0])
 
         if verbose:
@@ -65,6 +75,10 @@ def sync_folder(username,year,month,dir=".",verbose=False,force=False):
         f.write(etree.tostring(xml,encoding='UTF-8',pretty_print=True))
         f.close
         write_parsed_to_db(db,gpx,filename)
+        try:
+          render_tiles.queue_render(db,filename)
+        except:
+          None  
 
 def main():