mirror of
				https://github.com/iiab/iiab.git
				synced 2025-03-09 15:40:17 +00:00 
			
		
		
		
	writing some menu-defs for maps
This commit is contained in:
		
							parent
							
								
									19cfa2ced3
								
							
						
					
					
						commit
						e3fed5a2b3
					
				
					 1 changed files with 22 additions and 20 deletions
				
			
		| 
						 | 
					@ -34,9 +34,14 @@ def main():
 | 
				
			||||||
   #print(json.dumps(map_catalog,indent=2))
 | 
					   #print(json.dumps(map_catalog,indent=2))
 | 
				
			||||||
   map_menu_defs = get_menu_def_names()
 | 
					   map_menu_defs = get_menu_def_names()
 | 
				
			||||||
   #print(json.dumps(map_menu_defs,indent=2))
 | 
					   #print(json.dumps(map_menu_defs,indent=2))
 | 
				
			||||||
   installed_maps = get_installed_maps()
 | 
					   installed_maps = get_installed_regions()
 | 
				
			||||||
   print(installed_maps)
 | 
					   #print(installed_maps)
 | 
				
			||||||
   write_osm_vector_idx(installed_maps)
 | 
					   write_osm_vector_idx(installed_maps)
 | 
				
			||||||
 | 
					   for region in installed_maps:
 | 
				
			||||||
 | 
					      print('checking for %s region'%region)
 | 
				
			||||||
 | 
					      if not region in map_menu_defs:
 | 
				
			||||||
 | 
					         item = map_catalog['regions'][region]
 | 
				
			||||||
 | 
					         create_menu_def(region,item['perma_ref'])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def get_map_catalog():
 | 
					def get_map_catalog():
 | 
				
			||||||
   global map_catalog
 | 
					   global map_catalog
 | 
				
			||||||
| 
						 | 
					@ -66,51 +71,48 @@ def get_menu_def_names(intended_use='map'):
 | 
				
			||||||
            menu_def_dict[data['name']] = menuDefs + filename
 | 
					            menu_def_dict[data['name']] = menuDefs + filename
 | 
				
			||||||
   return menu_def_dict
 | 
					   return menu_def_dict
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def get_installed_maps():
 | 
					def get_installed_regions():
 | 
				
			||||||
   installed = []
 | 
					   installed = []
 | 
				
			||||||
   os.chdir(map_doc_root)
 | 
					   os.chdir(map_doc_root)
 | 
				
			||||||
   for filename in os.listdir('.'):
 | 
					   for filename in os.listdir('.'):
 | 
				
			||||||
      if fnmatch.fnmatch(filename, '??-osm-omt*'):
 | 
					      if fnmatch.fnmatch(filename, '??-osm-omt*'):
 | 
				
			||||||
         print filename
 | 
					 | 
				
			||||||
         region = re.sub(r'^..-osm-omt_(.*)',r'\1',filename)
 | 
					         region = re.sub(r'^..-osm-omt_(.*)',r'\1',filename)
 | 
				
			||||||
         print(region)
 | 
					 | 
				
			||||||
         installed.append(region)
 | 
					         installed.append(region)
 | 
				
			||||||
   return installed
 | 
					   return installed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def write_osm_vector_idx(installed_maps):
 | 
					def write_osm_vector_idx(installed_maps):
 | 
				
			||||||
   map_list = []
 | 
					   map_dict ={} 
 | 
				
			||||||
 | 
					   map_dict['regions'] = {}
 | 
				
			||||||
   for map in installed_maps:
 | 
					   for map in installed_maps:
 | 
				
			||||||
      data_dict = map_catalog['regions'].get(map,'')
 | 
					      data_dict = map_catalog['regions'].get(map,'')
 | 
				
			||||||
      map_list.append(data_dict)
 | 
					      map_dict['regions'][map] = data_dict
 | 
				
			||||||
   print(map,data_dict)
 | 
					   with open(osm_vector_idx_dir + '/osm-vector-idx.json','w') as idx:
 | 
				
			||||||
 | 
					      idx.write(json.dumps(map_dict,indent=2)) 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def create_menu_def(perma_ref,default_name,intended_use='map'):
 | 
					def create_menu_def(region,default_name,intended_use='map'):
 | 
				
			||||||
   if default_name.find('.') > -1:
 | 
					   item = map_catalog['regions'][region]
 | 
				
			||||||
       default_name = default_name[:-5].replace('.','_') + '.json'
 | 
					 | 
				
			||||||
   item = map_catalog[perma_ref]
 | 
					 | 
				
			||||||
   if len(item.get('language','')) > 2:
 | 
					   if len(item.get('language','')) > 2:
 | 
				
			||||||
     lang = item['language'][:2]
 | 
					     lang = item['language'][:2]
 | 
				
			||||||
   else: # default to english
 | 
					   else: # default to english
 | 
				
			||||||
     lang = 'en'
 | 
					     lang = 'en'
 | 
				
			||||||
   filename = lang + '-' + perma_ref + '.json'
 | 
					   filename = lang + '-' + item['perma_ref'] + '.json'
 | 
				
			||||||
   # create a stub for this zim
 | 
					   # create a stub for this zim
 | 
				
			||||||
   menuDef = {}
 | 
					   menuDef = {}
 | 
				
			||||||
   default_logo = get_default_logo(perma_ref,lang)
 | 
					   default_logo = 'osm.jpg'
 | 
				
			||||||
   menuDef["intended_use"] = "map"
 | 
					   menuDef["intended_use"] = "map"
 | 
				
			||||||
   menuDef["lang"] = lang
 | 
					   menuDef["lang"] = lang
 | 
				
			||||||
   menuDef["logo_url"] = default_logo
 | 
					   menuDef["logo_url"] = default_logo
 | 
				
			||||||
   menuitem = lang + '-' + perma_ref
 | 
					   menuitem = lang + '-' + item['perma_ref']
 | 
				
			||||||
   menuDef["menu_item_name"] = default_name[:-5]
 | 
					   menuDef["menu_item_name"] = default_name
 | 
				
			||||||
   menuDef["title"] = item.get('title','')
 | 
					   menuDef["title"] = item.get('title','')
 | 
				
			||||||
   menuDef["zim_name"] = perma_ref
 | 
					   menuDef["map_name"] = item['perma_ref']
 | 
				
			||||||
   menuDef["start_url"] = ''
 | 
					   menuDef["start_url"] = ''
 | 
				
			||||||
   menuDef["description"] = '<p>' + item.get('description','') + '</p>'
 | 
					   menuDef["description"] = '<p>Open Street Map of ' + item.get('title','') + '</p>'
 | 
				
			||||||
   menuDef["description"] += '<p>Size: ##SIZE##, Articles: ##ARTICLE_COUNT##, Media: ##MEDIA_COUNT##, Tags; [##tags##], Language: ##language##, Date: ##zim_date##</p>'
 | 
					 | 
				
			||||||
   menuDef["extra_html"] = ""
 | 
					   menuDef["extra_html"] = ""
 | 
				
			||||||
   menuDef["automatically_generated"] = "true"
 | 
					   menuDef["automatically_generated"] = "true"
 | 
				
			||||||
   if not os.path.isfile(menuDefs + default_name): # logic to here can still overwrite existing menu def
 | 
					   if not os.path.isfile(menuDefs + default_name): # logic to here can still overwrite existing menu def
 | 
				
			||||||
       print("creating %s"%menuDefs + default_name)
 | 
					       print("creating %s"%menuDefs + default_name)
 | 
				
			||||||
       with open(menuDefs + default_name,'w') as menufile:
 | 
					       with open(menuDefs + default_name + '.json','w') as menufile:
 | 
				
			||||||
          menufile.write(json.dumps(menuDef,indent=2))
 | 
					          menufile.write(json.dumps(menuDef,indent=2))
 | 
				
			||||||
   return default_name[:-5]
 | 
					   return default_name[:-5]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue