forked from organicmaps/organicmaps
[python] Update localads script
This commit is contained in:
parent
b79686c731
commit
310bd35a0f
1 changed files with 9 additions and 4 deletions
|
@ -33,12 +33,13 @@ def generate_id_from_name_and_version(name, version):
|
|||
|
||||
|
||||
def parse_mwm(mwm_name, osm2ft_name, override_version, types_name):
|
||||
region_name = os.path.splitext(os.path.basename(mwm_name))[0]
|
||||
logging.info(region_name)
|
||||
with open(osm2ft_name, 'rb') as f:
|
||||
ft2osm = mwm.read_osm2ft(f, ft2osm=True, tuples=False)
|
||||
with open(mwm_name, 'rb') as f:
|
||||
mwm_file = mwm.MWM(f)
|
||||
version = override_version or mwm_file.read_version()['version']
|
||||
region_name = os.path.splitext(mwm_name)[0]
|
||||
mwm_id = generate_id_from_name_and_version(region_name, version)
|
||||
QUEUES['mwm'].put((mwm_id, region_name, version))
|
||||
mwm_file.read_header()
|
||||
|
@ -46,7 +47,7 @@ def parse_mwm(mwm_name, osm2ft_name, override_version, types_name):
|
|||
for feature in mwm_file.iter_features(metadata=True):
|
||||
osm_id = ft2osm.get(feature['id'], None)
|
||||
if osm_id is None:
|
||||
if 'ref:sponsored' in feature['metadata']:
|
||||
if 'metadata' in feature and 'ref:sponsored' in feature['metadata']:
|
||||
for t in feature['header']['types']:
|
||||
if t.startswith('sponsored-'):
|
||||
QUEUES['sponsored'].put((t[t.find('-')+1:],
|
||||
|
@ -87,6 +88,7 @@ def main():
|
|||
parser.add_argument('--types', default=types_default, help='path to omim/data/types.txt')
|
||||
parser.add_argument('--threads', type=int, help='number of threads to process files')
|
||||
parser.add_argument('--version', type=int, help='override mwm version')
|
||||
parser.add_argument('--debug', action='store_true', help='debug parse_mwm call')
|
||||
args = parser.parse_args()
|
||||
if not args.osm2ft:
|
||||
args.osm2ft = args.mwm
|
||||
|
@ -103,8 +105,11 @@ def main():
|
|||
if not os.path.exists(osm2ft_name):
|
||||
logging.error('Cannot find %s', osm2ft_name)
|
||||
sys.exit(2)
|
||||
logging.info(mwm_name)
|
||||
pool.apply_async(parse_mwm, (mwm_name, osm2ft_name, args.version, args.types))
|
||||
parse_mwm_args = (os.path.join(args.mwm, mwm_name), osm2ft_name, args.version, args.types)
|
||||
if args.debug:
|
||||
parse_mwm(*parse_mwm_args)
|
||||
else:
|
||||
pool.apply_async(parse_mwm, parse_mwm_args)
|
||||
pool.close()
|
||||
pool.join()
|
||||
for queue in QUEUES.values():
|
||||
|
|
Loading…
Add table
Reference in a new issue