1
0
Fork 0
mirror of https://github.com/iiab/iiab.git synced 2025-02-15 04:32:11 +00:00
iiab/roles/osm-vector/templates/iiab-update-maps

68 lines
1.9 KiB
Text
Raw Normal View History

2019-03-18 04:45:33 +00:00
#!/usr/bin/env python
# Scan the osm-vector directory, update the osm-vector-idx.json, add menu-defs
2019-03-18 04:45:33 +00:00
from geojson import Feature, Point, FeatureCollection, Polygon
import geojson
import json
import os
import sys
import fnmatch
2019-03-18 04:45:33 +00:00
IIAB_PATH='/etc/iiab'
if not IIAB_PATH in sys.path:
sys.path.append(IIAB_PATH)
from iiab_env import get_iiab_env
2019-03-18 04:45:33 +00:00
doc_root = get_iiab_env('WWWROOT')
menuDefs = doc_root + "/js-menu/menu-files/menu-defs/"
map_catalog = {}
map_menu_defs ={}
2019-03-18 04:45:33 +00:00
def main():
global map_menu_defs
get_map_catalog()
map_menu_defs = get_menu_def_names()
def get_map_catalog():
global map_catalog
#input_json = "{{ iiab_dir }}" + '/regions.json'
input_json = "/etc/iiab" + '/regions.json'
2019-03-18 04:45:33 +00:00
with open(input_json,'r') as regions:
reg_str = regions.read()
map_catalog = json.loads(reg_str)
#print(json.dumps(map_catalog,indent=2))
def get_menu_def_names(intended_use='map'):
menu_def_dict = {}
os.chdir(menuDefs)
for filename in os.listdir('.'):
if fnmatch.fnmatch(filename, '*.json'):
try:
with open(filename,'r') as json_file:
readstr = json_file.read()
data = json.loads(readstr)
except:
print("failed to parse %s"%filename)
print(readstr)
if data.get('intended_use','') != intended_use:
continue
mapname = data.get('name','')
if mapname != '':
menu_def_dict[data['map_name']] = menuDefs + filename
return menu_def_dict
2019-03-18 04:45:33 +00:00
def human_readable(num):
# return 3 significant digits and unit specifier
num = float(num)
units = [ '','K','M','G']
for i in range(4):
if num<10.0:
return "%.2f%s"%(num,units[i])
if num<100.0:
return "%.1f%s"%(num,units[i])
if num < 1000.0:
return "%.0f%s"%(num,units[i])
num /= 1000.0
2019-03-18 04:45:33 +00:00
if __name__ == '__main__':
main()