mirror of
https://github.com/gilbN/theme.park.git
synced 2024-08-18 07:59:37 +02:00
commit
1ea12a44f4
17
fetch.sh
Normal file
17
fetch.sh
Normal file
@ -0,0 +1,17 @@
|
||||
#!/usr/bin/env bash
|
||||
# Downloads all docker mod scripts
|
||||
|
||||
MODS=$(curl https://develop.theme-park.dev/themes.json | jq -r '.["docker-mods"]')
|
||||
if [[ "$0" == "bash" ]]; then
|
||||
DIR="/tmp/theme-park-mods"
|
||||
else
|
||||
DIR="$0"
|
||||
fi
|
||||
mkdir -p "$DIR"
|
||||
printf "\nSaving mods into $DIR\n\n"
|
||||
jq -r 'to_entries | map(.key + "|" + (.value | tostring)) | .[]' <<< "$MODS" | \
|
||||
while IFS='|' read key value; do
|
||||
curl "$value" --create-dirs --output "$DIR/$key" --silent
|
||||
echo "Fetched $key script"
|
||||
done
|
||||
sudo chmod go+rx $DIR
|
16
themes.py
16
themes.py
@ -61,7 +61,7 @@ def create_addons_json():
|
||||
return dumps(ADDONS, sort_keys=True)
|
||||
|
||||
|
||||
def create_json(app_folders: list = None, themes: list = None, community_themes: list = None, no_sub_folders=False):
|
||||
def create_json(app_folders: list = None, themes: list = None, community_themes: list = None ,docker_mods: list = None, no_sub_folders=False) -> str:
|
||||
if no_sub_folders:
|
||||
THEMES_DICT = {}
|
||||
theme_shas = subprocess.check_output(["git", "ls-files", "-s", "./css/theme-options/*.css"]) if isdir(".git") else []
|
||||
@ -71,12 +71,12 @@ def create_json(app_folders: list = None, themes: list = None, community_themes:
|
||||
THEMES = {
|
||||
theme.split(".")[0].capitalize(): {
|
||||
"url": f"{scheme}://{DOMAIN}/css/theme-options/{theme}?sha={THEME_SHAS.get(theme)}"
|
||||
}for theme in themes
|
||||
}for theme in themes if themes
|
||||
}
|
||||
COMMUNITY_THEMES = {
|
||||
theme.split(".")[0].capitalize(): {
|
||||
"url": f"{scheme}://{DOMAIN}/css/community-theme-options/{theme}?sha={COMMUNITY_THEME_SHAS.get(theme)}"
|
||||
}for theme in community_themes
|
||||
}for theme in community_themes if community_themes
|
||||
}
|
||||
THEMES_DICT.update(dict(sorted({
|
||||
"themes": {
|
||||
@ -111,12 +111,17 @@ def create_json(app_folders: list = None, themes: list = None, community_themes:
|
||||
} for app in app_folders if isfile(f'./css/base/{app}/.deprecated')
|
||||
}
|
||||
}.items())))
|
||||
APPS.update(dict(sorted({
|
||||
"docker-mods": {
|
||||
mod: f"{scheme}://{DOMAIN}/docker-mods/{mod}/root/etc/cont-init.d/98-themepark" for mod in docker_mods if docker_mods
|
||||
}
|
||||
}.items())))
|
||||
THEMES = loads(create_json(themes=themes, community_themes=community_themes, no_sub_folders=True))
|
||||
APPS.update(ADDONS)
|
||||
APPS.update(THEMES)
|
||||
return dumps(APPS)
|
||||
|
||||
def create_theme_options():
|
||||
def create_theme_options() -> None:
|
||||
app_shas = subprocess.check_output(["git", "ls-files", "-s", "./css/base/*base.css"]) if isdir(".git") else []
|
||||
theme_shas = subprocess.check_output(["git", "ls-files", "-s", "./css/theme-options/*.css"]) if isdir(".git") else []
|
||||
community_theme_shas = subprocess.check_output(["git", "ls-files", "-s", "./css/community-theme-options/*.css"]) if isdir(".git") else []
|
||||
@ -145,6 +150,7 @@ scheme = env.get('TP_SCHEME','https') if env.get('TP_SCHEME') else 'https'
|
||||
if __name__ == "__main__":
|
||||
app_folders = [name for name in listdir('./css/base') if isdir(join('./css/base', name))]
|
||||
themes = [name for name in listdir('./css/theme-options') if isfile(join('./css/theme-options', name))]
|
||||
docker_mods = [name for name in listdir('./docker-mods') if isdir(join('./docker-mods', name))]
|
||||
community_themes = [name for name in listdir('./css/community-theme-options') if isfile(join('./css/community-theme-options', name))]
|
||||
develop = True if isdir(".git") and subprocess.check_output(["git", "symbolic-ref", "--short", "HEAD"]).decode('ascii').strip() == "develop" else False
|
||||
if env_domain:
|
||||
@ -153,7 +159,7 @@ if __name__ == "__main__":
|
||||
with open("CNAME", "rt", closefd=True) as cname:
|
||||
CNAME = cname.readline()
|
||||
DOMAIN = CNAME if not develop else f"develop.{CNAME}"
|
||||
apps = loads(create_json(app_folders=app_folders, themes=themes, community_themes=community_themes))
|
||||
apps = loads(create_json(app_folders=app_folders, themes=themes, community_themes=community_themes, docker_mods=docker_mods))
|
||||
with open("themes.json", "w") as outfile:
|
||||
dump(apps, outfile, indent=2, sort_keys=True)
|
||||
create_theme_options()
|
Loading…
Reference in New Issue
Block a user