diff --git a/fdroidserver/lint.py b/fdroidserver/lint.py index 16ab4be3..ed0e3696 100644 --- a/fdroidserver/lint.py +++ b/fdroidserver/lint.py @@ -108,7 +108,7 @@ def check_regexes(app): for m, r in checks: v = app.get_field(f) t = metadata.metafieldtype(f) - if t == 'multiline': + if t == metadata.TYPE_MULTILINE: for l in v.splitlines(): if m.match(l): yield "%s at line '%s': %s" % (f, l, r) diff --git a/fdroidserver/metadata.py b/fdroidserver/metadata.py index 712b456c..d1530480 100644 --- a/fdroidserver/metadata.py +++ b/fdroidserver/metadata.py @@ -202,21 +202,31 @@ class App(): else: self.set_field(f, v) +TYPE_UNKNOWN = 0 +TYPE_OBSOLETE = 1 +TYPE_STRING = 2 +TYPE_BOOL = 3 +TYPE_LIST = 4 +TYPE_SCRIPT = 5 +TYPE_MULTILINE = 6 +TYPE_BUILD = 7 +TYPE_BUILD_V2 = 8 + def metafieldtype(name): if name in ['Description', 'Maintainer Notes']: - return 'multiline' + return TYPE_MULTILINE if name in ['Categories', 'AntiFeatures']: - return 'list' + return TYPE_LIST if name == 'Build Version': - return 'build' + return TYPE_BUILD if name == 'Build': - return 'buildv2' + return TYPE_BUILD_V2 if name == 'Use Built': - return 'obsolete' + return TYPE_OBSOLETE if name in app_fields: - return 'string' - return 'unknown' + return TYPE_STRING + return TYPE_UNKNOWN # In the order in which they are laid out on files @@ -342,12 +352,12 @@ bool_flags = set(['submodules', 'oldsdkloc', 'forceversion', 'forcevercode', def flagtype(name): if name in list_flags: - return 'list' + return TYPE_LIST if name in script_flags: - return 'script' + return TYPE_SCRIPT if name in bool_flags: - return 'bool' - return 'string' + return TYPE_BOOL + return TYPE_STRING # Designates a metadata field type and checks that it matches @@ -822,13 +832,13 @@ def post_metadata_parse(app): continue ftype = flagtype(k) - if ftype == 'script': + if ftype == TYPE_SCRIPT: build.__dict__[k] = re.sub(esc_newlines, '', v).lstrip().rstrip() - elif ftype == 'bool': + elif ftype == TYPE_BOOL: # TODO handle this using 0: cmds[-1] = cmds[-1][:-len('&& \\')] @@ -1340,8 +1350,8 @@ def write_yaml_metadata(mf, app): mf.write("builds:\n") first_build = False - w_field('versionName', build.version, ' - ', 'string') - w_field('versionCode', build.vercode, ' ', 'strsng') + w_field('versionName', build.version, ' - ', TYPE_STRING) + w_field('versionCode', build.vercode, ' ', TYPE_STRING) for f in build_flags_order: v = build.get_flag(f) if not v: