Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 32 additions & 38 deletions generate_style.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
#!/usr/bin/env python

import argparse

layer_suffixes = {
0:0,
1:1,
Expand Down Expand Up @@ -65,7 +67,7 @@
18:0
}

vars= {
style = {
'layer_suffix':layer_suffixes,
'maxscale':maxscales,
'minscale':minscales,
Expand Down Expand Up @@ -1020,7 +1022,7 @@
'locality_clr': "200 200 200",
}

styles = {
namedstyles = {
'default': {},
'outlined':{
'display_motorway_outline': {
Expand Down Expand Up @@ -1317,10 +1319,6 @@
}
}

import sys
from optparse import OptionParser


# these are the preconfigured styles that can be called when creating the final mapfile,
# e.g. with `make STYLE=google`. This will create an osm-google.map mapfile
style_aliases = {
Expand All @@ -1339,48 +1337,44 @@
}


parser = OptionParser()
parser.add_option("-l", "--level", dest="level", type="int", action="store", default=-1,
parser = argparse.ArgumentParser()
parser.add_argument("-l", "--level", dest="level", type=int, action="store", default=-1,
help="generate file for level n")
parser.add_option("-g", "--global", dest="full", action="store_true", default=False,
parser.add_argument("-g", "--global", dest="full", action="store_true", default=False,
help="generate global include file")
parser.add_option("-s", "--style",
action="store", dest="style", default="default",
parser.add_argument("-s", "--style", action="store", dest="style", default="default",
help="comma separated list of styles to apply (order is important)")

(options, args) = parser.parse_args()

items = vars.items()
for namedstyle in style_aliases[options.style].split(','):
items = items + styles[namedstyle].items()
args = parser.parse_args()

style = dict(items)
for namedstyle in style_aliases[args.style].split(','):
style.update(namedstyles[namedstyle].items())

if options.full:
print "###### level 0 ######"
for k,v in style.iteritems():
if type(v) is dict:
print "#define _%s0 %s"%(k,v[0])
if args.full:
print("###### level 0 ######")
for k, v in style.items():
if isinstance(v, dict):
print("#define _{0}0 {1}".format(k, v[0]))
else:
print "#define _%s0 %s"%(k,v)
print("#define _{0}0 {1}".format(k, v))


for i in range(1,19):
print
print "###### level %d ######"%(i)
for k,v in style.iteritems():
if type(v) is dict:
if not v.has_key(i):
print "#define _%s%d _%s%d"%(k,i,k,i-1)
for i in range(1, 19):
print('')
print("###### level {0} ######".format(i))
for k, v in style.items():
if isinstance(v, dict):
if not i in v:
print("#define _{0}{1} _{0}{2}".format(k, i, i-1))
else:
print "#define _%s%d %s"%(k,i,v[i])
print("#define _{0}{1} {2}".format(k, i, v[i]))
else:
print "#define _%s%d %s"%(k,i,v)
print("#define _{0}{1} {2}".format(k, i, v))

if options.level != -1:
level = options.level
for k,v in style.iteritems():
print "#undef _%s"%(k)
if args.level != -1:
level = args.level
for k, v in style.items():
print("#undef _{0}".format(k))

for k,v in style.iteritems():
print "#define _%s _%s%s"%(k,k,level)
for k, v in style.items():
print("#define _{0} _{0}{1}".format(k, level))