mirror of
https://github.com/YunoHost/package_linter.git
synced 2024-09-03 20:06:12 +02:00
Ugly tricks to avoid 2-3 delay every time its run because of fetching apps.json etc
This commit is contained in:
parent
8439fd0b2e
commit
94360abfbc
1 changed files with 25 additions and 14 deletions
|
@ -9,6 +9,7 @@ import shlex
|
|||
import urllib.request
|
||||
import codecs
|
||||
import subprocess
|
||||
import time
|
||||
|
||||
reader = codecs.getreader("utf-8")
|
||||
|
||||
|
@ -232,7 +233,7 @@ def file_exists(file_path):
|
|||
|
||||
def spdx_licenses():
|
||||
cachefile = ".spdx_licenses"
|
||||
if os.path.exists(cachefile):
|
||||
if os.path.exists(cachefile) and time.time() - os.path.getmtime(cachefile) < 3600:
|
||||
return open(cachefile).read()
|
||||
|
||||
link = "https://spdx.org/licenses/"
|
||||
|
@ -515,13 +516,6 @@ class App():
|
|||
"The most current bigger name is actually compound of 22 characters."
|
||||
)
|
||||
|
||||
# YEP 1.2 Put the app in a weel known repo
|
||||
if "id" in manifest:
|
||||
app_list_url = "https://raw.githubusercontent.com/YunoHost/apps/master/apps.json"
|
||||
app_list = json.loads(urlopen(app_list_url)['content'])
|
||||
if manifest["id"] not in app_list:
|
||||
print_warning("[YEP-1.2] This app is not registered in our applications list")
|
||||
|
||||
# YEP 1.3 License
|
||||
def license_mentionned_in_readme(path):
|
||||
readme_path = os.path.join(path, 'README.md')
|
||||
|
@ -557,12 +551,29 @@ class App():
|
|||
# YEP 1.5 Update regularly the app status
|
||||
# YEP 1.6 Check regularly the evolution of the upstream
|
||||
|
||||
# YEP 1.2 Put the app in a weel known repo
|
||||
# YEP 1.7 - Add an app to the YunoHost-Apps organization
|
||||
if "id" in manifest:
|
||||
repo = "https://github.com/YunoHost-Apps/%s_ynh" % (manifest["id"])
|
||||
is_not_added_to_org = urlopen(repo)['code'] == 404
|
||||
brique = "https://github.com/labriqueinternet/%s_ynh" % (manifest["id"])
|
||||
is_not_added_to_brique = urlopen(brique)['code'] == 404
|
||||
|
||||
cachefile = "./.apps.json"
|
||||
if os.path.exists(cachefile) and time.time() - os.path.getmtime(cachefile) < 3600:
|
||||
app_list = open(cachefile).read()
|
||||
else:
|
||||
app_list_url = "https://raw.githubusercontent.com/YunoHost/apps/master/apps.json"
|
||||
app_list = urlopen(app_list_url)['content']
|
||||
open(cachefile, "w").write(app_list)
|
||||
app_list = json.loads(app_list)
|
||||
if manifest["id"] not in app_list:
|
||||
print_warning("[YEP-1.2] This app is not registered in our applications list")
|
||||
|
||||
all_urls = [infos.get("url", "").lower() for infos in app_list.values()]
|
||||
|
||||
repo_org = "https://github.com/YunoHost-Apps/%s_ynh" % (manifest["id"])
|
||||
repo_brique = "https://github.com/labriqueinternet/%s_ynh" % (manifest["id"])
|
||||
|
||||
if repo_org.lower() not in all_urls and repo_brique.lower() not in all_urls:
|
||||
is_not_added_to_org = urlopen(repo_org)['code'] == 404
|
||||
is_not_added_to_brique = urlopen(repo_brique)['code'] == 404
|
||||
|
||||
if is_not_added_to_org and is_not_added_to_brique:
|
||||
print_warning("[YEP-1.7] You should add your app in the YunoHost-Apps organisation.")
|
||||
|
|
Loading…
Reference in a new issue