Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def processor(cm):
print_cmd_status('Merging files')
lsCMs = []
g = glob.glob(filepattern)
for i in g:
try:
f = click.open_file(i, mode='r')
lsCMs.append(cityjson.reader(f))
except ValueError as e:
raise click.ClickException('%s: "%s".' % (e, input))
except IOError as e:
raise click.ClickException('Invalid file: "%s".' % (input))
if len(lsCMs) == 0:
click.echo("WARNING: No files to merge.")
else:
for i in lsCMs:
click.echo("\t%s" % i)
cm.merge(lsCMs)
return cm
return processor
f = click.open_file(input, mode='r')
extension = os.path.splitext(input)[1].lower()
if extension not in extensions:
raise IOError("File type not supported (only .json, .off, and .poly).")
#-- OFF file
if (extension == '.off'):
print_cmd_status("Converting %s to CityJSON" % (input))
cm = cityjson.off2cj(f)
#-- POLY file
elif (extension == '.poly'):
print_cmd_status("Converting %s to CityJSON" % (input))
cm = cityjson.poly2cj(f)
#-- CityJSON file
else:
print_cmd_status("Parsing %s" % (input))
cm = cityjson.reader(file=f, ignore_duplicate_keys=ignore_duplicate_keys)
if (cm.get_version() not in cityjson.CITYJSON_VERSIONS_SUPPORTED):
allv = ""
for v in cityjson.CITYJSON_VERSIONS_SUPPORTED:
allv = allv + v + "/"
str = "CityJSON version %s not supported (only versions: %s), not every operators will work.\nPerhaps it's time to upgrade cjio? 'pip install cjio -U'" % (cm.get_version(), allv)
raise click.ClickException(str)
elif (cm.get_version() != cityjson.CITYJSON_VERSIONS_SUPPORTED[-1]):
str = "v%s is not the latest version, and not everything will work.\n" % cm.get_version()
str += "Upgrade the file with 'upgrade_version' command: 'cjio input.json upgrade_version save out.json'"
click.echo(click.style(str, fg='red'))
except ValueError as e:
raise click.ClickException('%s: "%s".' % (e, input))
except IOError as e:
raise click.ClickException('Invalid file: "%s".\n%s' % (input, e))
for processor in processors: