mirror of
https://github.com/YunoHost/package_linter.git
synced 2024-09-03 20:06:12 +02:00
The app's catalog is in json now
This commit is contained in:
parent
c8abbe21a6
commit
078f29de39
1 changed files with 21 additions and 8 deletions
|
@ -12,6 +12,12 @@ import time
|
||||||
import statistics
|
import statistics
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
|
try:
|
||||||
|
import toml
|
||||||
|
except:
|
||||||
|
os.system('pip3 install toml')
|
||||||
|
import toml
|
||||||
|
|
||||||
# ############################################################################
|
# ############################################################################
|
||||||
# Helper list
|
# Helper list
|
||||||
# ############################################################################
|
# ############################################################################
|
||||||
|
@ -1519,7 +1525,6 @@ class Manifest(TestSuite):
|
||||||
self.raw_manifest, object_pairs_hook=check_for_duplicate_keys
|
self.raw_manifest, object_pairs_hook=check_for_duplicate_keys
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
import toml
|
|
||||||
self.manifest = toml.loads(self.raw_manifest)
|
self.manifest = toml.loads(self.raw_manifest)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(
|
print(
|
||||||
|
@ -1917,9 +1922,9 @@ class AppCatalog(TestSuite):
|
||||||
self._fetch_app_repo()
|
self._fetch_app_repo()
|
||||||
|
|
||||||
try:
|
try:
|
||||||
self.app_list = json.loads(open("./.apps/apps.json").read())
|
self.app_list = toml.loads(open("./.apps/apps.toml").read())
|
||||||
except Exception:
|
except Exception:
|
||||||
_print("Failed to read apps.json :/")
|
_print("Failed to read apps.toml :/")
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
|
|
||||||
self.catalog_infos = self.app_list.get(app_id, {})
|
self.catalog_infos = self.app_list.get(app_id, {})
|
||||||
|
@ -2073,18 +2078,26 @@ class AppCatalog(TestSuite):
|
||||||
"master",
|
"master",
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
raw_json_at_this_date = git(["show", "%s:apps.json" % commit])
|
if os.system(f"git -C ./.apps cat-file -e {commit}:apps.json") == 0:
|
||||||
|
raw_catalog_at_this_date = git(["show", f"{commit}:apps.json"])
|
||||||
|
loader = json
|
||||||
|
|
||||||
|
elif os.system(f"git -C ./.apps cat-file -e {commit}:apps.toml") == 0:
|
||||||
|
raw_catalog_at_this_date = git(["show", f"{commit}:apps.toml"])
|
||||||
|
loader = toml
|
||||||
|
else:
|
||||||
|
raise Exception("No apps.json/toml at this point in history?")
|
||||||
|
|
||||||
try:
|
try:
|
||||||
json_at_this_date = json.loads(raw_json_at_this_date)
|
catalog_at_this_date = loader.loads(raw_catalog_at_this_date)
|
||||||
# This can happen in stupid cases where there was a temporary syntax error in the json..
|
# This can happen in stupid cases where there was a temporary syntax error in the json..
|
||||||
except json.decoder.JSONDecodeError:
|
except json.decoder.JSONDecodeError:
|
||||||
_print(
|
_print(
|
||||||
"Failed to parse apps.json history for at commit %s / %s ... ignoring "
|
"Failed to parse apps.json/toml history for at commit %s / %s ... ignoring "
|
||||||
% (commit, t)
|
% (commit, t)
|
||||||
)
|
)
|
||||||
continue
|
continue
|
||||||
|
yield (t, catalog_at_this_date.get(self.app_id))
|
||||||
yield (t, json_at_this_date.get(self.app_id))
|
|
||||||
|
|
||||||
# We'll check the history for last 12 months (*2 points per month)
|
# We'll check the history for last 12 months (*2 points per month)
|
||||||
N = 12 * 2
|
N = 12 * 2
|
||||||
|
|
Loading…
Reference in a new issue