mirror of
https://github.com/f-droid/fdroidserver.git
synced 2025-09-13 14:32:28 +03:00
Merge branch 'metadata_purge_legacy' into 'master'
metadata: Remove code ensuring YAML 1.2 compatibility See merge request fdroid/fdroidserver!1328
This commit is contained in:
commit
331d3663db
3 changed files with 4 additions and 82 deletions
|
@ -607,33 +607,11 @@ def read_metadata(appids={}, sort_by_time=False):
|
||||||
return apps
|
return apps
|
||||||
|
|
||||||
|
|
||||||
# Port legacy ';' separators
|
|
||||||
list_sep = re.compile(r'[,;]')
|
|
||||||
|
|
||||||
|
|
||||||
def split_list_values(s):
|
|
||||||
res = []
|
|
||||||
for v in re.split(list_sep, s):
|
|
||||||
if not v:
|
|
||||||
continue
|
|
||||||
v = v.strip()
|
|
||||||
if not v:
|
|
||||||
continue
|
|
||||||
res.append(v)
|
|
||||||
return res
|
|
||||||
|
|
||||||
|
|
||||||
def sorted_builds(builds):
|
def sorted_builds(builds):
|
||||||
return sorted(builds, key=lambda build: build.versionCode)
|
return sorted(builds, key=lambda build: build.versionCode)
|
||||||
|
|
||||||
|
|
||||||
esc_newlines = re.compile(r'\\( |\n)')
|
|
||||||
|
|
||||||
|
|
||||||
def post_metadata_parse(app):
|
def post_metadata_parse(app):
|
||||||
if 'flavours' in app and app['flavours'] == [True]:
|
|
||||||
app['flavours'] = 'yes'
|
|
||||||
|
|
||||||
for k, v in app.items():
|
for k, v in app.items():
|
||||||
if fieldtype(k) == TYPE_LIST:
|
if fieldtype(k) == TYPE_LIST:
|
||||||
if isinstance(v, str):
|
if isinstance(v, str):
|
||||||
|
@ -650,21 +628,6 @@ def post_metadata_parse(app):
|
||||||
if type(v) in (float, int):
|
if type(v) in (float, int):
|
||||||
app[k] = str(v)
|
app[k] = str(v)
|
||||||
|
|
||||||
def _yaml_bool_unmapable(v):
|
|
||||||
return v in (True, False, [True], [False])
|
|
||||||
|
|
||||||
def _yaml_bool_unmap(v):
|
|
||||||
if v is True:
|
|
||||||
return 'yes'
|
|
||||||
elif v is False:
|
|
||||||
return 'no'
|
|
||||||
elif v == [True]:
|
|
||||||
return ['yes']
|
|
||||||
elif v == [False]:
|
|
||||||
return ['no']
|
|
||||||
|
|
||||||
_bool_allowed = ('maven')
|
|
||||||
|
|
||||||
builds = []
|
builds = []
|
||||||
if 'Builds' in app:
|
if 'Builds' in app:
|
||||||
for build in app.get('Builds', []):
|
for build in app.get('Builds', []):
|
||||||
|
@ -673,24 +636,13 @@ def post_metadata_parse(app):
|
||||||
for k, v in build.items():
|
for k, v in build.items():
|
||||||
if not (v is None):
|
if not (v is None):
|
||||||
if flagtype(k) == TYPE_LIST:
|
if flagtype(k) == TYPE_LIST:
|
||||||
if _yaml_bool_unmapable(v):
|
|
||||||
build[k] = _yaml_bool_unmap(v)
|
|
||||||
|
|
||||||
if isinstance(v, str):
|
if isinstance(v, str):
|
||||||
build[k] = [v]
|
build[k] = [v]
|
||||||
elif isinstance(v, bool):
|
|
||||||
if v:
|
|
||||||
build[k] = ['yes']
|
|
||||||
else:
|
|
||||||
build[k] = []
|
|
||||||
elif flagtype(k) is TYPE_INT:
|
elif flagtype(k) is TYPE_INT:
|
||||||
build[k] = v
|
build[k] = v
|
||||||
elif flagtype(k) is TYPE_STRING:
|
elif flagtype(k) is TYPE_STRING:
|
||||||
if isinstance(v, bool) and k in _bool_allowed:
|
if k == 'maven':
|
||||||
build[k] = v
|
build[k] = v
|
||||||
else:
|
|
||||||
if _yaml_bool_unmapable(v):
|
|
||||||
build[k] = _yaml_bool_unmap(v)
|
|
||||||
else:
|
else:
|
||||||
build[k] = str(v)
|
build[k] = str(v)
|
||||||
builds.append(build)
|
builds.append(build)
|
||||||
|
@ -723,18 +675,6 @@ def post_metadata_parse(app):
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
bool_true = re.compile(r'([Yy]es|[Tt]rue)')
|
|
||||||
bool_false = re.compile(r'([Nn]o|[Ff]alse)')
|
|
||||||
|
|
||||||
|
|
||||||
def _decode_bool(s):
|
|
||||||
if bool_true.match(s):
|
|
||||||
return True
|
|
||||||
if bool_false.match(s):
|
|
||||||
return False
|
|
||||||
_warn_or_exception(_("Invalid boolean '%s'") % s)
|
|
||||||
|
|
||||||
|
|
||||||
def parse_metadata(metadatapath):
|
def parse_metadata(metadatapath):
|
||||||
"""Parse metadata file, also checking the source repo for .fdroid.yml.
|
"""Parse metadata file, also checking the source repo for .fdroid.yml.
|
||||||
|
|
||||||
|
@ -894,22 +834,8 @@ def write_yaml(mf, app):
|
||||||
raise FDroidException('currently installed version of ruamel.yaml ({}) is too old, >= 1.13 required.'.format(ruamel.yaml.__version__))
|
raise FDroidException('currently installed version of ruamel.yaml ({}) is too old, >= 1.13 required.'.format(ruamel.yaml.__version__))
|
||||||
# suiteable version ruamel.yaml imported successfully
|
# suiteable version ruamel.yaml imported successfully
|
||||||
|
|
||||||
_yaml_bools_true = ('y', 'Y', 'yes', 'Yes', 'YES',
|
|
||||||
'true', 'True', 'TRUE',
|
|
||||||
'on', 'On', 'ON')
|
|
||||||
_yaml_bools_false = ('n', 'N', 'no', 'No', 'NO',
|
|
||||||
'false', 'False', 'FALSE',
|
|
||||||
'off', 'Off', 'OFF')
|
|
||||||
_yaml_bools_plus_lists = []
|
|
||||||
_yaml_bools_plus_lists.extend(_yaml_bools_true)
|
|
||||||
_yaml_bools_plus_lists.extend([[x] for x in _yaml_bools_true])
|
|
||||||
_yaml_bools_plus_lists.extend(_yaml_bools_false)
|
|
||||||
_yaml_bools_plus_lists.extend([[x] for x in _yaml_bools_false])
|
|
||||||
|
|
||||||
def _field_to_yaml(typ, value):
|
def _field_to_yaml(typ, value):
|
||||||
if typ is TYPE_STRING:
|
if typ is TYPE_STRING:
|
||||||
if value in _yaml_bools_plus_lists:
|
|
||||||
return ruamel.yaml.scalarstring.SingleQuotedScalarString(str(value))
|
|
||||||
return str(value)
|
return str(value)
|
||||||
elif typ is TYPE_INT:
|
elif typ is TYPE_INT:
|
||||||
return int(value)
|
return int(value)
|
||||||
|
@ -997,10 +923,6 @@ def write_yaml(mf, app):
|
||||||
ruamel.yaml.round_trip_dump(yaml_app, mf, indent=4, block_seq_indent=2)
|
ruamel.yaml.round_trip_dump(yaml_app, mf, indent=4, block_seq_indent=2)
|
||||||
|
|
||||||
|
|
||||||
build_line_sep = re.compile(r'(?<!\\),')
|
|
||||||
build_cont = re.compile(r'^[ \t]')
|
|
||||||
|
|
||||||
|
|
||||||
def write_metadata(metadatapath, app):
|
def write_metadata(metadatapath, app):
|
||||||
metadatapath = Path(metadatapath)
|
metadatapath = Path(metadatapath)
|
||||||
if metadatapath.suffix == '.yml':
|
if metadatapath.suffix == '.yml':
|
||||||
|
|
|
@ -64,7 +64,7 @@ Builds:
|
||||||
patch:
|
patch:
|
||||||
- manifest-ads.patch
|
- manifest-ads.patch
|
||||||
- mobilecore.patch
|
- mobilecore.patch
|
||||||
maven: 'yes'
|
maven: yes
|
||||||
srclibs:
|
srclibs:
|
||||||
- FacebookSDK@sdk-version-3.0.2
|
- FacebookSDK@sdk-version-3.0.2
|
||||||
|
|
||||||
|
|
|
@ -64,7 +64,7 @@ Builds:
|
||||||
patch:
|
patch:
|
||||||
- manifest-ads.patch
|
- manifest-ads.patch
|
||||||
- mobilecore.patch
|
- mobilecore.patch
|
||||||
maven: 'yes'
|
maven: yes
|
||||||
srclibs:
|
srclibs:
|
||||||
- FacebookSDK@sdk-version-3.0.2
|
- FacebookSDK@sdk-version-3.0.2
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue