diff options
author | Ilya Zverev <zverik@textual.ru> | 2016-07-15 18:01:19 +0300 |
---|---|---|
committer | Ilya Zverev <zverik@textual.ru> | 2016-07-19 12:53:21 +0300 |
commit | 46a5d58ba1fe3b274df149214fe1bbc7bb97b6e1 (patch) | |
tree | 3d9baa51399d40e78102e3e1c7a6add4573c0059 /tools | |
parent | 989c84e7bb93994a02ba482e83e8ec3a90ff91fa (diff) |
[generator] Add region info section to mwms
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/python/mwm/dump_mwm.py | 1 | ||||
-rw-r--r-- | tools/python/mwm/mwm.py | 17 |
2 files changed, 18 insertions, 0 deletions
diff --git a/tools/python/mwm/dump_mwm.py b/tools/python/mwm/dump_mwm.py index 0147c8dc19..edc891dc64 100755 --- a/tools/python/mwm/dump_mwm.py +++ b/tools/python/mwm/dump_mwm.py @@ -17,6 +17,7 @@ for tv in tvv: v = mwm.read_version() print('Format: {0}, version: {1}'.format(v['fmt'], v['version'].strftime('%Y-%m-%d %H:%M'))) print('Header: {0}'.format(mwm.read_header())) +print('Region Info: {0}'.format(mwm.read_region_info())) print('Metadata count: {0}'.format(len(mwm.read_metadata()))) cross = mwm.read_crossmwm() diff --git a/tools/python/mwm/mwm.py b/tools/python/mwm/mwm.py index bb4c941690..65929831bd 100644 --- a/tools/python/mwm/mwm.py +++ b/tools/python/mwm/mwm.py @@ -31,6 +31,8 @@ class MWM: "denomination", "building_levels", "test_id", "ref:sponsored", "price_rate", "rating", "fuel", "routes"] + regiondata = ["languages", "driving", "timezone", "addr_fmt", "phone_fmt", "postcode_fmt", "holidays", "housenames"] + def __init__(self, f): self.f = f self.coord_size = None @@ -112,6 +114,21 @@ class MWM: # COMPLEX READERS + def read_region_info(self): + if not self.has_tag('rgninfo'): + return {} + fields = {} + self.seek_tag('rgninfo') + sz = self.read_varuint() + if sz: + for i in range(sz): + t = self.read_varuint() + t = self.regiondata[t] if t < len(self.regiondata) else str(t) + fields[t] = self.read_string() + if t == 'languages': + fields[t] = [self.languages[ord(x)] for x in fields[t]] + return fields + def read_metadata(self): """Reads 'meta' and 'metaidx' sections.""" if not self.has_tag('metaidx'): |