for metadatapath in sorted(glob.glob(os.path.join('metadata', '*.txt'))
+ glob.glob(os.path.join('metadata', '*.json'))
+ glob.glob(os.path.join('metadata', '*.xml'))
- + glob.glob(os.path.join('metadata', '*.yaml'))
+ + glob.glob(os.path.join('metadata', '*.yml'))
+ glob.glob('.fdroid.json')
+ glob.glob('.fdroid.xml')
- + glob.glob('.fdroid.yaml')):
+ + glob.glob('.fdroid.yml')):
+ packageName, _ = fdroidserver.common.get_extension(os.path.basename(metadatapath))
+ if packageName in apps:
+ raise MetaDataException("Found multiple metadata files for " + packageName)
app = parse_metadata(metadatapath)
- if app.id in apps:
- raise MetaDataException("Found multiple metadata files for " + app.id)
check_metadata(app)
apps[app.id] = app
for root, dirs, files in os.walk(os.getcwd()):
if 'build.gradle' in files:
p = os.path.join(root, 'build.gradle')
- with open(p) as f:
+ with open(p, 'rb') as f:
data = f.read()
m = pattern.search(data)
if m:
parse_json_metadata(mf, app)
elif ext == 'xml':
parse_xml_metadata(mf, app)
- elif ext == 'yaml':
+ elif ext == 'yml':
parse_yaml_metadata(mf, app)
else:
raise MetaDataException('Unknown metadata format: %s' % metadatapath)
raise MetaDataException('Cannot write "%s", not an accepted format, use: %s' % (
metadatapath, ', '.join(accepted)))
- with open(metadatapath, 'w') as mf:
+ with open(metadatapath, 'w', encoding='utf8') as mf:
if ext == 'txt':
return write_txt(mf, app)
- elif ext == 'yaml':
+ elif ext == 'yml':
return write_yaml(mf, app)
raise MetaDataException('Unknown metadata format: %s' % metadatapath)