mirror of
https://github.com/enzet/map-machine.git
synced 2025-06-03 11:21:49 +02:00
Refactor arguments parsing.
This commit is contained in:
parent
25a61f5a14
commit
a916a3bf45
3 changed files with 53 additions and 69 deletions
|
@ -11,30 +11,52 @@ def parse_options(args):
|
|||
|
||||
parser = argparse.ArgumentParser()
|
||||
|
||||
parser.add_argument('-i', '--input', dest='input_file_name')
|
||||
parser.add_argument('-o', '--output', dest='output_file_name',
|
||||
required=True)
|
||||
parser.add_argument('-bbox', '--boundary-box', dest='boundary_box',
|
||||
required=True)
|
||||
parser.add_argument('-nn', '--no-draw-nodes', dest='draw_nodes',
|
||||
action='store_false', default=True)
|
||||
parser.add_argument('-nw', '--no-draw-ways', dest='draw_ways',
|
||||
action='store_false', default=True)
|
||||
parser.add_argument('--captions', '--no-draw-captions', dest='draw_captions',
|
||||
default='main')
|
||||
parser.add_argument('--show-missed-tags', dest='show_missed_tags',
|
||||
action='store_true')
|
||||
parser.add_argument('--no-show-missed-tags', dest='show_missed_tags',
|
||||
action='store_false')
|
||||
parser.add_argument('--overlap', dest='overlap', default=12, type=int)
|
||||
parser.add_argument('-s', '--size', dest='size')
|
||||
parser.add_argument('--show-index', dest='show_index',
|
||||
action='store_true')
|
||||
parser.add_argument('--no-show-index', dest='show_index',
|
||||
action='store_false')
|
||||
parser.add_argument('--mode', dest='mode', default='normal')
|
||||
parser.add_argument('--seed', dest='seed', default='')
|
||||
parser.add_argument('--level', dest='level', default=None)
|
||||
parser.add_argument(
|
||||
"-i", "--input",
|
||||
dest="input_file_name",
|
||||
metavar="<path>",
|
||||
help="input XML file name (if not specified, file will be downloaded"
|
||||
"using OpenStreetMap API)")
|
||||
parser.add_argument(
|
||||
"-o", "--output",
|
||||
dest="output_file_name",
|
||||
metavar="<path>",
|
||||
default="map.svg",
|
||||
help="output SVG file name (map.svg by default)")
|
||||
parser.add_argument(
|
||||
"-b", "--boundary-box",
|
||||
dest="boundary_box",
|
||||
metavar="<lon1>,<lat1>,<lon2>,<lat2>",
|
||||
help="geo boundary box, use \"m\" instead of \"-\" for negative values",
|
||||
required=True)
|
||||
parser.add_argument(
|
||||
"-s", "--size",
|
||||
metavar="<width>,<height>",
|
||||
help="output SVG file size in pixels",
|
||||
dest="size")
|
||||
parser.add_argument(
|
||||
"-nn", "--no-draw-nodes",
|
||||
dest="draw_nodes",
|
||||
action="store_false",
|
||||
default=True)
|
||||
parser.add_argument(
|
||||
"-nw", "--no-draw-ways", dest="draw_ways", action="store_false",
|
||||
default=True)
|
||||
parser.add_argument(
|
||||
"--captions", "--no-draw-captions", dest="draw_captions",
|
||||
default="main")
|
||||
parser.add_argument(
|
||||
"--show-missing-tags", dest="show_missing_tags", action="store_true")
|
||||
parser.add_argument(
|
||||
"--no-show-missing-tags", dest="show_missing_tags", action="store_false")
|
||||
parser.add_argument("--overlap", dest="overlap", default=12, type=int)
|
||||
parser.add_argument(
|
||||
"--show-index", dest="show_index", action="store_true")
|
||||
parser.add_argument(
|
||||
"--no-show-index", dest="show_index", action="store_false")
|
||||
parser.add_argument("--mode", dest="mode", default="normal")
|
||||
parser.add_argument("--seed", dest="seed", default="")
|
||||
parser.add_argument("--level", dest="level", default=None)
|
||||
|
||||
arguments = parser.parse_args(args[1:])
|
||||
|
||||
|
@ -47,17 +69,17 @@ def parse_options(args):
|
|||
def write_line(number, total):
|
||||
length = 20
|
||||
parts = length * 8
|
||||
boxes = [' ', '▏', '▎', '▍', '▌', '▋', '▊', '▉']
|
||||
boxes = [" ", "▏", "▎", "▍", "▌", "▋", "▊", "▉"]
|
||||
|
||||
if number == -1:
|
||||
print('%3s' % '100' + ' % █' + (length * '█') + '█')
|
||||
print("%3s" % "100" + " % █" + (length * "█") + "█")
|
||||
elif number % 1000 == 0:
|
||||
p = number / float(total)
|
||||
l = int(p * parts)
|
||||
fl = int(l / 8)
|
||||
pr = int(l - fl * 8)
|
||||
print(('%3s' % str(int(p * 1000) / 10)) + ' % █' + (fl * '█') +
|
||||
boxes[pr] + ((length - fl - 1) * ' ') + '█')
|
||||
print(("%3s" % str(int(p * 1000) / 10)) + " % █" + (fl * "█") +
|
||||
boxes[pr] + ((length - fl - 1) * " ") + "█")
|
||||
sys.stdout.write("\033[F")
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue