mirror of
https://github.com/YunoHost/package_linter.git
synced 2024-09-03 20:06:12 +02:00
[enh] manifest: check new rule 'packaging_format' and it's value.
This commit is contained in:
parent
90b77f8094
commit
ce2a11b0ba
1 changed files with 10 additions and 8 deletions
|
@ -57,26 +57,28 @@ def check_manifest(manifest):
|
||||||
manifest = json.loads(data_file.read())
|
manifest = json.loads(data_file.read())
|
||||||
print_right("Manifest syntax is good.")
|
print_right("Manifest syntax is good.")
|
||||||
except: print_wrong("There is a syntax (comma) issue in manifest.json. Can't check manifest."); return
|
except: print_wrong("There is a syntax (comma) issue in manifest.json. Can't check manifest."); return
|
||||||
i, fields = 0, ("name", "id", "description", "url", "license", \
|
i, fields = 0, ("name", "id", "packaging_format", "description", "url", \
|
||||||
"maintainer", "multi_instance", "services", "arguments")
|
"license", "maintainer", "multi_instance", "services", "arguments") # "requirements"
|
||||||
while (i < len(fields)):
|
while (i < len(fields)):
|
||||||
if fields[i] in manifest: print_right("\"" + fields[i] + "\" fields is present")
|
if fields[i] in manifest: print_right("\"" + fields[i] + "\" fields is present")
|
||||||
else: print_wrong("\"" + fields[i] + "\" field is missing")
|
else: print_wrong("\"" + fields[i] + "\" field is missing")
|
||||||
i+=1
|
i+=1
|
||||||
|
"""
|
||||||
|
Check values in keys
|
||||||
|
"""
|
||||||
# Check under array
|
# Check under array
|
||||||
# manifest["description"]["en"]
|
# manifest["description"]["en"]
|
||||||
# manifest["maintainer"]["name"]
|
# manifest["maintainer"]["name"]
|
||||||
# manifest["maintainer"]["email"]
|
# manifest["maintainer"]["email"]
|
||||||
# manifest["arguments"]["install"]
|
# manifest["arguments"]["install"]
|
||||||
"""
|
if "packaging_format" in manifest and isinstance(manifest["packaging_format"], int) == 1 and manifest["packaging_format"] >= 1:
|
||||||
Check values in keys
|
print_right("\"packaging_format\" field is good")
|
||||||
"""
|
elif "packaging_format" in manifest: print_wrong("\"packaging_format\" field value must be a unsigned integer")
|
||||||
if "license" in manifest and manifest["license"] != "free" and manifest["license"] != "non-free":
|
if "license" in manifest and manifest["license"] != "free" and manifest["license"] != "non-free":
|
||||||
print_wrong("You should specify 'free' or 'non-free' software package in the license field.")
|
print_wrong("You should specify 'free' or 'non-free' software package in the license field.")
|
||||||
elif "license" in manifest: print_right("'licence' key value is good.")
|
elif "license" in manifest: print_right("\"licence\" key value is good")
|
||||||
if "multi_instance" in manifest and manifest["multi_instance"] != 1 and manifest["multi_instance"] != 0:
|
if "multi_instance" in manifest and manifest["multi_instance"] != 1 and manifest["multi_instance"] != 0:
|
||||||
print_wrong("multi_instance field must be boolean type values 'true' or 'false' and not string type.");
|
print_wrong("multi_instance field must be boolean type values 'true' or 'false' and not string type.")
|
||||||
if "services" in manifest:
|
if "services" in manifest:
|
||||||
services = ("nginx", "php5-fpm", "mysql", "uwsgi", "metronome", "postfix", "dovecot") #, "rspamd", "rmilter")
|
services = ("nginx", "php5-fpm", "mysql", "uwsgi", "metronome", "postfix", "dovecot") #, "rspamd", "rmilter")
|
||||||
i = 0
|
i = 0
|
||||||
|
|
Loading…
Reference in a new issue