1
0
Fork 0
mirror of https://github.com/iiab/iiab.git synced 2025-02-15 04:32:11 +00:00

writing some menu-defs for maps

This commit is contained in:
George Hunt 2019-03-25 17:34:04 -07:00
parent 19cfa2ced3
commit e3fed5a2b3

View file

@ -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]