Render queue processing implemented
authorRoman Bazalevsky <rvb@rvb.name>
Thu, 31 Jul 2014 11:10:31 +0000 (15:10 +0400)
committerRoman Bazalevsky <rvb@rvb.name>
Thu, 31 Jul 2014 11:10:31 +0000 (15:10 +0400)
pyrungps.py
render_tiles.py

index 76d52f118ab126f3f2b6cf75249e4459baa35ace..52904300165504b455309aadcd914074ff8c55c0 100644 (file)
@@ -10,6 +10,8 @@ from datetime import date
 from parsegpx import write_parsed_to_db
 import pygpx
 
+import render_tiles
+
 def get_page(uname,year,month):
   
   trainings = []
@@ -65,6 +67,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():
 
index 1c57b0b46d5ce9c976fbb373afb8abac683dd13c..a23b136fe8aba6a10a234f74155b9ddbad348f13 100644 (file)
@@ -2,8 +2,8 @@
 # coding: UTF-8
 
 import sqlite3
-
 import math
+from pprint import pprint
 
 def queue_render(db,filename):
 
@@ -49,4 +49,46 @@ def queue_render(db,filename):
       break
 
   conn.commit()        
+
+def process_queue(db,map):
+
+  from os import system
+
+  conn = sqlite3.connect(db)
+  cur = conn.cursor()
+  cur.execute('select id,zoom,minx,maxx,miny,maxy from render_queue')
+  list=cur.fetchall()
+
+  for rec in list:
+  
+    id,zoom,minx,maxx,miny,maxy=rec
+
+    command = 'render_list -a -m '+map+ \
+      ' -z '+str(zoom)+' -Z '+str(zoom)+ \
+      ' -x '+str(minx)+' -X '+str(maxx)+ \
+      ' -y '+str(miny)+' -Y '+str(maxy)
+    if system(command)==0:
+      dcur=conn.cursor()
+      dcur.execute('delete from render_queue where id=?',(id,))
+      conn.commit()
+
+def main():
+
+  from optparse import OptionParser
+  
+  parser = OptionParser()
+  parser.add_option("-d", "--data", dest="directory",
+    help="Data directory", metavar="DIR")
+  parser.add_option("-m", "--map", dest="map",
+    help="Map name", metavar="MAP")
+  (options, args) = parser.parse_args()  
+
+  db=options.directory+'/gpx.db'
+  map=options.map  
+
+  process_queue(db,map)
+  
+if __name__ == "__main__":
+
+  main()          
   
\ No newline at end of file