Merge pull request #10 from marco-calautti/master

Refactor module definitions
This commit is contained in:
Slluxx 2020-06-05 20:37:27 +02:00 committed by GitHub
commit 1b32e8bb66
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 788 additions and 1117 deletions

View file

@ -37,17 +37,17 @@ jobs:
- name: Compile DeepSea Zip - name: Compile DeepSea Zip
run: | run: |
cd ./builder cd ./builder
python ./builder.py deepsea output="./deepsea.zip" python ./builder.py deepsea.json output="./deepsea.zip"
- name: Compile DeepSea-patches Zip - name: Compile DeepSea-patches Zip
run: | run: |
cd ./builder cd ./builder
python ./builder.py deepsea-patches output="./deepsea-patched.zip" python ./builder.py deepsea-patches.json output="./deepsea-patched.zip"
- name: Compile DeepSea-minimal Zip - name: Compile DeepSea-minimal Zip
run: | run: |
cd ./builder cd ./builder
python ./builder.py deepsea-mini output="./deepsea-minimal.zip" python ./builder.py deepsea-minimal.json output="./deepsea-minimal.zip"
- name: Create Release - name: Create Release
id: create_release id: create_release

View file

@ -22,7 +22,7 @@ DeepSea - The new All-in-One CFW package for the Nintendo Switch.
## How to use ## How to use
Follow this guide to hack your switch: https://switch.homebrew.guide Follow this guide to hack your switch: https://switch.homebrew.guide
Download the latest release and put it on your SD Card\ Download the latest release and put it on your SD Card<br />
Send the Hekate payload to your Switch in RCM mode and launch the CFW Send the Hekate payload to your Switch in RCM mode and launch the CFW

View file

@ -1 +1 @@
theme: jekyll-theme-architect theme: jekyll-theme-cayman

View file

@ -0,0 +1,425 @@
[
{
"name": "Atmosphère",
"download_function_name": "download_atmosphere",
"git": {
"service": 0,
"org_name": "Atmosphere-NX",
"repo_name": "Atmosphere",
"asset_patterns": [
".*atmosphere.*\\.zip",
".*fusee.*\\.bin"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": "must_have"
},
{
"name": "Hekate",
"download_function_name": "download_hekate",
"git": {
"service": 0,
"org_name": "CTCaer",
"repo_name": "hekate",
"asset_patterns": [
".*hekate.*\\.zip"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": "hekate"
},
{
"name": "Hekate Icons",
"download_function_name": "download_hekate_icons",
"git": {
"service": 0,
"org_name": "NicholeMattera",
"repo_name": "Hekate-Icons",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": "hekate_icons"
},
{
"name": "Homebrew App Store",
"download_function_name": "download_appstore",
"git": {
"service": 1,
"org_name": "4TU",
"repo_name": "hb-appstore",
"asset_patterns": [
"\\[.*\\.nro\\.zip\\]\\((.*\\.nro\\.zip)\\)"
],
"group": 0,
"version_pattern": null
},
"sdsetup_module_name": null
},
{
"name": "EdiZon",
"download_function_name": "download_edizon",
"git": {
"service": 0,
"org_name": "WerWolv",
"repo_name": "EdiZon",
"asset_patterns": [
".*\\.nro",
".*\\.ovl"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": null
},
{
"name": "Emuiibo",
"download_function_name": "download_emuiibo",
"git": {
"service": 0,
"org_name": "XorTroll",
"repo_name": "emuiibo",
"asset_patterns": [
".*emuiibo.*\\.zip"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": "emuiibo"
},
{
"name": "Kosmos Cleaner",
"download_function_name": "download_kosmos_cleaner",
"git": {
"service": 0,
"org_name": "AtlasNX",
"repo_name": "Kosmos-Cleaner",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": "kosmos_cleaner"
},
{
"name": "Kosmos Updater",
"download_function_name": "download_kosmos_updater",
"git": {
"service": 0,
"org_name": "AtlasNX",
"repo_name": "Kosmos-Updater",
"asset_patterns": [
".*\\.nro"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": "kosmos_updater"
},
{
"name": "Goldleaf",
"download_function_name": "download_goldleaf",
"git": {
"service": 0,
"org_name": "XorTroll",
"repo_name": "Goldleaf",
"asset_patterns": [
".*\\.nro"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": null
},
{
"name": "Awoo Installer",
"download_function_name": "download_awoo",
"git": {
"service": 0,
"org_name": "Huntereb",
"repo_name": "Awoo-Installer",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": null
},
{
"name": "Kosmos Toolbox",
"download_function_name": "download_kosmos_toolbox",
"git": {
"service": 0,
"org_name": "AtlasNX",
"repo_name": "Kosmos-Toolbox",
"asset_patterns": [
".*\\.nro"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": "kosmos_toolbox"
},
{
"name": "DeepSea Toolbox",
"download_function_name": "download_deepsea_toolbox",
"git": {
"service": 0,
"org_name": "Team-Neptune",
"repo_name": "DeepSea-Toolbox",
"asset_patterns": [
".*\\.nro"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": null
},
{
"name": "DeepSea Updater",
"download_function_name": "download_kosmos_updater",
"git": {
"service": 0,
"org_name": "Team-Neptune",
"repo_name": "DeepSea-Updater",
"asset_patterns": [
".*\\.nro"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": null
},
{
"name": "DeepSea Cleaner",
"download_function_name": "download_deepsea_cleaner",
"git": {
"service": 0,
"org_name": "Team-Neptune",
"repo_name": "DeepSea-Cleaner",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": null
},
{
"name": "JKSV",
"download_function_name": "download_jksv",
"git": {
"service": 0,
"org_name": "J-D-K",
"repo_name": "JKSV",
"asset_patterns": [
".*\\.nro"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": null
},
{
"name": "NXMTP",
"download_function_name": "download_nxmtp",
"git": {
"service": 0,
"org_name": "liuervehc",
"repo_name": "nxmtp",
"asset_patterns": [
".*\\.nro"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": null
},
{
"name": "ldn_mitm",
"download_function_name": "download_ldn_mitm",
"git": {
"service": 0,
"org_name": "spacemeowx2",
"repo_name": "ldn_mitm",
"asset_patterns": [
".*ldn_mitm.*\\.zip"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": "ldn_mitm"
},
{
"name": "Lockpick_RCM",
"download_function_name": "download_lockpick_rcm",
"git": {
"service": 0,
"org_name": "shchmue",
"repo_name": "Lockpick_RCM",
"asset_patterns": [
".*\\.bin"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": "lockpick_rcm"
},
{
"name": "nx-ovlloader",
"download_function_name": "download_nx_ovlloader",
"git": {
"service": 0,
"org_name": "WerWolv",
"repo_name": "nx-ovlloader",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": "nx_ovlloader"
},
{
"name": "ovlSysModules",
"download_function_name": "download_ovl_sysmodules",
"git": {
"service": 0,
"org_name": "WerWolv",
"repo_name": "ovl-sysmodules",
"asset_patterns": [
".*\\.ovl"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": "ovl_sysmodules"
},
{
"name": "Status Monitor Overlay",
"download_function_name": "download_status_monitor_overlay",
"git": {
"service": 0,
"org_name": "masagrator",
"repo_name": "Status-Monitor-Overlay",
"asset_patterns": [
".*\\.ovl"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": "status_monitor_overlay"
},
{
"name": "sys-clk",
"download_function_name": "download_sys_clk",
"git": {
"service": 0,
"org_name": "retronx-team",
"repo_name": "sys-clk",
"asset_patterns": [
".*sys-clk-.*\\.zip"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": "sys_clk"
},
{
"name": "sys-clk-ovl",
"download_function_name": "download_sys_clk_ovl",
"git": {
"service": 0,
"org_name": "Sun-Research-University",
"repo_name": "sys-clk-Overlay",
"asset_patterns": [
".*sys-clk-Overlay.*\\.ovl"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": "sys_clk_ovl"
},
{
"name": "sys-con",
"download_function_name": "download_sys_con",
"git": {
"service": 0,
"org_name": "cathery",
"repo_name": "sys-con",
"asset_patterns": [
".*sys-con-.*\\.zip"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": "sys_con"
},
{
"name": "sys-ftpd-light",
"download_function_name": "download_sys_ftpd_light",
"git": {
"service": 0,
"org_name": "cathery",
"repo_name": "sys-ftpd-light",
"asset_patterns": [
".*sys-ftpd-light.*\\.zip"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": "sys_ftpd"
},
{
"name": "Tesla-Menu",
"download_function_name": "download_tesla_menu",
"git": {
"service": 0,
"org_name": "WerWolv",
"repo_name": "Tesla-Menu",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": "tesla_menu"
},
{
"name": "PKG2-Patches",
"download_function_name": "download_pkg2_patches",
"git": {
"service": 0,
"org_name": "HarukoNX",
"repo_name": "PKG2-Patches",
"asset_patterns": [
".*fusee.*\\.zip",
".*hekate.*\\.zip"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": null
},
{
"name": "ES-Patches",
"download_function_name": "download_es_patches",
"git": {
"service": 0,
"org_name": "HarukoNX",
"repo_name": "ES-Patches",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": null
}
]

View file

@ -26,7 +26,7 @@ import modules
from pathlib import Path from pathlib import Path
import shutil import shutil
import sys import sys
import json
def parse_args(): def parse_args():
parser = argparse.ArgumentParser() parser = argparse.ArgumentParser()
@ -36,51 +36,20 @@ def parse_args():
type=str, type=str,
help='Overrides the DeepSea Version from the config file.', help='Overrides the DeepSea Version from the config file.',
metavar='DeepSeaVersion') metavar='DeepSeaVersion')
subparsers = parser.add_subparsers() parser.add_argument(
"package_file",
# Kosmos subcommands default=None,
parser_kosmos = subparsers.add_parser( type=str,
'deepsea', help='Create a release build of DeepSea.') help="Create a release build using the provided json file.")
parser_kosmos.add_argument('output', help='Zip file to create.') parser.add_argument(
parser_kosmos.set_defaults(command=common.Command.Kosmos) "output",
default=None,
# SDSetup subcommands type=str,
parser_sdsetup = subparsers.add_parser( help='Zip file to create.')
'sdsetup', help='Create a DeepSea modules for SDSetup.')
parser_sdsetup.add_argument(
'output', help='Directory to output modules to.')
parser_sdsetup.add_argument(
'-a', '--auto',
action='store_true',
default=False,
help='Perform an auto build.')
parser_sdsetup.set_defaults(command=common.Command.SDSetup)
# Kosmos Minimal subcommands
parser_kosmos = subparsers.add_parser(
'deepsea-mini', help='Create a release build of DeepSea Minimal.')
parser_kosmos.add_argument('output', help='Zip file to create.')
parser_kosmos.set_defaults(command=common.Command.KosmosMinimal)
# Kosmos with patches subcommands
parser_kosmos_patches = subparsers.add_parser(
'deepsea-patches', help='Create a release build of DeepSea with patches.')
parser_kosmos_patches.add_argument('output', help='Zip file to create.')
parser_kosmos_patches.set_defaults(command=common.Command.KosmosPatches)
# Kosmos minimal with patches subcommands
parser_kosmos_minimal_patches = subparsers.add_parser(
'deepsea-mini-patches', help='Create a release build of DeepSea Minimal with patches.')
parser_kosmos_minimal_patches.add_argument('output', help='Zip file to create.')
parser_kosmos_minimal_patches.set_defaults(command=common.Command.KosmosMinimalPatches)
# Parse arguments # Parse arguments
args = parser.parse_args() args = parser.parse_args()
if not hasattr(args, 'command'):
parser.print_help()
sys.exit()
return args return args
@ -90,18 +59,9 @@ def get_deepsea_version(args):
return config.version return config.version
def init_version_messages(args, kosmos_version): def init_version_messages(package_content, kosmos_version):
if args.command == common.Command.Kosmos: pkg_name = package_content['package_name']
return [f'DeepSea {kosmos_version} built with:'] return [f'{pkg_name} {kosmos_version} built with:']
elif args.command == common.Command.SDSetup and not args.auto:
return ['SDSetup Modules built with:']
elif args.command == common.Command.KosmosMinimal:
return [f'DeepSea Minimal {kosmos_version} built with:']
elif args.command == common.Command.KosmosPatches:
return [f'DeepSea with Patches {kosmos_version} built with:']
elif args.command == common.Command.KosmosMinimalPatches:
return [f'DeepSea Minimal with Patches {kosmos_version} built with:']
return []
if __name__ == '__main__': if __name__ == '__main__':
@ -115,17 +75,20 @@ if __name__ == '__main__':
if hasattr(args, 'auto'): if hasattr(args, 'auto'):
auto_build = args.auto auto_build = args.auto
version_messages = init_version_messages(args, deepsea_version) with open(args.package_file,'r') as pkgfile:
package_content = json.load(pkgfile)
version_messages = init_version_messages(package_content, deepsea_version)
build_messages = modules.build( build_messages = modules.build(
temp_directory, deepsea_version, args.command, auto_build) temp_directory, deepsea_version, package_content, auto_build)
common.delete(args.output) common.delete(args.output)
if build_messages is not None: if build_messages is not None:
version_messages += build_messages version_messages += build_messages
if args.command == common.Command.SDSetup: if package_content['is_sdsetup']:
common.move(temp_directory, args.output) common.move(temp_directory, args.output)
else: else:
shutil.make_archive( shutil.make_archive(

View file

@ -25,13 +25,6 @@ import re
import shutil import shutil
import uuid import uuid
class Command(enum.Enum):
Kosmos = 0
SDSetup = 1
KosmosMinimal = 2
KosmosPatches = 3
KosmosMinimalPatches = 4
class GitService(enum.Enum): class GitService(enum.Enum):
GitHub = 0 GitHub = 0
GitLab = 1 GitLab = 1

View file

@ -1,64 +1,22 @@
[ {
{ "package_name": "DeepSea Minimal with Patches",
"name": "Atmosphère", "is_sdsetup": false,
"download_function_name": "download_atmosphere", "modules": [
"git": { {
"service": 0, "module_name": "Atmosphère",
"org_name": "Atmosphere-NX", "parameters": null
"repo_name": "Atmosphere",
"asset_patterns": [
".*atmosphere.*\\.zip",
".*fusee.*\\.bin"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "Hekate",
{ "parameters": null
"name": "Hekate",
"download_function_name": "download_hekate",
"git": {
"service": 0,
"org_name": "CTCaer",
"repo_name": "hekate",
"asset_patterns": [
".*hekate.*\\.zip"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "PKG2-Patches",
{ "parameters": null
"name": "PKG2-Patches",
"download_function_name": "download_pkg2_patches",
"git": {
"service": 0,
"org_name": "HarukoNX",
"repo_name": "PKG2-Patches",
"asset_patterns": [
".*fusee.*\\.zip",
".*hekate.*\\.zip"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "ES-Patches",
{ "parameters": null
"name": "ES-Patches", }
"download_function_name": "download_es_patches", ]
"git": { }
"service": 0,
"org_name": "HarukoNX",
"repo_name": "ES-Patches",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": null
}
]

View file

@ -1,33 +1,14 @@
[ {
{ "package_name": "DeepSea Minimal",
"name": "Atmosphère", "is_sdsetup": false,
"download_function_name": "download_atmosphere", "modules": [
"git": { {
"service": 0, "module_name": "Atmosphère",
"org_name": "Atmosphere-NX", "parameters": null
"repo_name": "Atmosphere",
"asset_patterns": [
".*atmosphere.*\\.zip",
".*fusee.*\\.bin"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "Hekate",
{ "parameters": null
"name": "Hekate", }
"download_function_name": "download_hekate", ]
"git": { }
"service": 0,
"org_name": "CTCaer",
"repo_name": "hekate",
"asset_patterns": [
".*hekate.*\\.zip"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": null
}
]

View file

@ -1,365 +1,106 @@
[ {
{ "package_name": "DeepSea with Patches",
"name": "Atmosphère", "is_sdsetup": false,
"download_function_name": "download_atmosphere", "modules": [
"git": { {
"service": 0, "module_name": "Atmosphère",
"org_name": "Atmosphere-NX", "parameters": null
"repo_name": "Atmosphere",
"asset_patterns": [
".*atmosphere.*\\.zip",
".*fusee.*\\.bin"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "Hekate",
{ "parameters": null
"name": "Hekate",
"download_function_name": "download_hekate",
"git": {
"service": 0,
"org_name": "CTCaer",
"repo_name": "hekate",
"asset_patterns": [
".*hekate.*\\.zip"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "Hekate Icons",
{ "parameters": null
"name": "Hekate Icons",
"download_function_name": "download_hekate_icons",
"git": {
"service": 0,
"org_name": "NicholeMattera",
"repo_name": "Hekate-Icons",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "Homebrew App Store",
{ "parameters": null
"name": "Homebrew App Store",
"download_function_name": "download_appstore",
"git": {
"service": 1,
"org_name": "4TU",
"repo_name": "hb-appstore",
"asset_patterns": [
"\\[.*\\.nro\\.zip\\]\\((.*\\.nro\\.zip)\\)"
],
"group": 0,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "EdiZon",
{ "parameters": null
"name": "EdiZon",
"download_function_name": "download_edizon",
"git": {
"service": 0,
"org_name": "WerWolv",
"repo_name": "EdiZon",
"asset_patterns": [
".*\\.nro",
".*\\.ovl"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "Emuiibo",
{ "parameters": null
"name": "Emuiibo",
"download_function_name": "download_emuiibo",
"git": {
"service": 0,
"org_name": "XorTroll",
"repo_name": "emuiibo",
"asset_patterns": [
".*emuiibo.*\\.zip"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "Goldleaf",
{ "parameters": null
"name": "Goldleaf",
"download_function_name": "download_goldleaf",
"git": {
"service": 0,
"org_name": "XorTroll",
"repo_name": "Goldleaf",
"asset_patterns": [
".*\\.nro"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "Awoo Installer",
{ "parameters": null
"name": "Awoo Installer",
"download_function_name": "download_awoo",
"git": {
"service": 0,
"org_name": "Huntereb",
"repo_name": "Awoo-Installer",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "DeepSea Toolbox",
{ "parameters": null
"name": "DeepSea Toolbox",
"download_function_name": "download_deepsea_toolbox",
"git": {
"service": 0,
"org_name": "Team-Neptune",
"repo_name": "DeepSea-Toolbox",
"asset_patterns": [
".*\\.nro"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "DeepSea Updater",
{ "parameters": null
"name": "DeepSea Updater",
"download_function_name": "download_kosmos_updater",
"git": {
"service": 0,
"org_name": "Team-Neptune",
"repo_name": "DeepSea-Updater",
"asset_patterns": [
".*\\.nro"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "DeepSea Cleaner",
{ "parameters": null
"name": "DeepSea Cleaner",
"download_function_name": "download_deepsea_cleaner",
"git": {
"service": 0,
"org_name": "Team-Neptune",
"repo_name": "DeepSea-Cleaner",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "JKSV",
{ "parameters": null
"name": "JKSV",
"download_function_name": "download_jksv",
"git": {
"service": 0,
"org_name": "J-D-K",
"repo_name": "JKSV",
"asset_patterns": [
".*\\.nro"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "NXMTP",
{ "parameters": null
"name": "NXMTP",
"download_function_name": "download_nxmtp",
"git": {
"service": 0,
"org_name": "liuervehc",
"repo_name": "nxmtp",
"asset_patterns": [
".*\\.nro"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "ldn_mitm",
{ "parameters": null
"name": "ldn_mitm",
"download_function_name": "download_ldn_mitm",
"git": {
"service": 0,
"org_name": "spacemeowx2",
"repo_name": "ldn_mitm",
"asset_patterns": [
".*ldn_mitm.*\\.zip"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "Lockpick_RCM",
{ "parameters": null
"name": "Lockpick_RCM",
"download_function_name": "download_lockpick_rcm",
"git": {
"service": 0,
"org_name": "shchmue",
"repo_name": "Lockpick_RCM",
"asset_patterns": [
".*\\.bin"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "nx-ovlloader",
{ "parameters": null
"name": "nx-ovlloader",
"download_function_name": "download_nx_ovlloader",
"git": {
"service": 0,
"org_name": "WerWolv",
"repo_name": "nx-ovlloader",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "ovlSysModules",
{ "parameters": null
"name": "ovlSysModules",
"download_function_name": "download_ovl_sysmodules",
"git": {
"service": 0,
"org_name": "WerWolv",
"repo_name": "ovl-sysmodules",
"asset_patterns": [
".*\\.ovl"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "Status Monitor Overlay",
{ "parameters": null
"name": "Status Monitor Overlay",
"download_function_name": "download_status_monitor_overlay",
"git": {
"service": 0,
"org_name": "masagrator",
"repo_name": "Status-Monitor-Overlay",
"asset_patterns": [
".*\\.ovl"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "sys-clk",
{ "parameters": null
"name": "sys-clk",
"download_function_name": "download_sys_clk",
"git": {
"service": 0,
"org_name": "retronx-team",
"repo_name": "sys-clk",
"asset_patterns": [
".*sys-clk-.*\\.zip"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "sys-clk-ovl",
{ "parameters": null
"name": "sys-con",
"download_function_name": "download_sys_con",
"git": {
"service": 0,
"org_name": "cathery",
"repo_name": "sys-con",
"asset_patterns": [
".*sys-con-.*\\.zip"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "sys-con",
{ "parameters": null
"name": "sys-ftpd-light",
"download_function_name": "download_sys_ftpd_light",
"git": {
"service": 0,
"org_name": "cathery",
"repo_name": "sys-ftpd-light",
"asset_patterns": [
".*sys-ftpd-light.*\\.zip"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "sys-ftpd-light",
{ "parameters": null
"name": "Tesla-Menu",
"download_function_name": "download_tesla_menu",
"git": {
"service": 0,
"org_name": "WerWolv",
"repo_name": "Tesla-Menu",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "Tesla-Menu",
{ "parameters": null
"name": "PKG2-Patches",
"download_function_name": "download_pkg2_patches",
"git": {
"service": 0,
"org_name": "HarukoNX",
"repo_name": "PKG2-Patches",
"asset_patterns": [
".*fusee.*\\.zip",
".*hekate.*\\.zip"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "PKG2-Patches",
{ "parameters": null
"name": "ES-Patches",
"download_function_name": "download_es_patches",
"git": {
"service": 0,
"org_name": "HarukoNX",
"repo_name": "ES-Patches",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
} "module_name": "ES-Patches",
] "parameters": null
}
]
}

View file

@ -1,334 +1,98 @@
[ {
{ "package_name": "DeepSea",
"name": "Atmosphère", "is_sdsetup": false,
"download_function_name": "download_atmosphere", "modules": [
"git": { {
"service": 0, "module_name": "Atmosphère",
"org_name": "Atmosphere-NX", "parameters": null
"repo_name": "Atmosphere",
"asset_patterns": [
".*atmosphere.*\\.zip",
".*fusee.*\\.bin"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "Hekate",
{ "parameters": null
"name": "Hekate",
"download_function_name": "download_hekate",
"git": {
"service": 0,
"org_name": "CTCaer",
"repo_name": "hekate",
"asset_patterns": [
".*hekate.*\\.zip"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "Hekate Icons",
{ "parameters": null
"name": "Hekate Icons",
"download_function_name": "download_hekate_icons",
"git": {
"service": 0,
"org_name": "NicholeMattera",
"repo_name": "Hekate-Icons",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "Homebrew App Store",
{ "parameters": null
"name": "Homebrew App Store",
"download_function_name": "download_appstore",
"git": {
"service": 1,
"org_name": "4TU",
"repo_name": "hb-appstore",
"asset_patterns": [
"\\[.*\\.nro\\.zip\\]\\((.*\\.nro\\.zip)\\)"
],
"group": 0,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "EdiZon",
{ "parameters": null
"name": "EdiZon",
"download_function_name": "download_edizon",
"git": {
"service": 0,
"org_name": "WerWolv",
"repo_name": "EdiZon",
"asset_patterns": [
".*\\.nro",
".*\\.ovl"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "Emuiibo",
{ "parameters": null
"name": "Emuiibo",
"download_function_name": "download_emuiibo",
"git": {
"service": 0,
"org_name": "XorTroll",
"repo_name": "emuiibo",
"asset_patterns": [
".*emuiibo.*\\.zip"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "Goldleaf",
{ "parameters": null
"name": "Goldleaf",
"download_function_name": "download_goldleaf",
"git": {
"service": 0,
"org_name": "XorTroll",
"repo_name": "Goldleaf",
"asset_patterns": [
".*\\.nro"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "Awoo Installer",
{ "parameters": null
"name": "Awoo Installer",
"download_function_name": "download_awoo",
"git": {
"service": 0,
"org_name": "Huntereb",
"repo_name": "Awoo-Installer",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "DeepSea Toolbox",
{ "parameters": null
"name": "DeepSea Toolbox",
"download_function_name": "download_deepsea_toolbox",
"git": {
"service": 0,
"org_name": "Team-Neptune",
"repo_name": "DeepSea-Toolbox",
"asset_patterns": [
".*\\.nro"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "DeepSea Updater",
{ "parameters": null
"name": "DeepSea Updater",
"download_function_name": "download_kosmos_updater",
"git": {
"service": 0,
"org_name": "Team-Neptune",
"repo_name": "DeepSea-Updater",
"asset_patterns": [
".*\\.nro"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "DeepSea Cleaner",
{ "parameters": null
"name": "DeepSea Cleaner",
"download_function_name": "download_deepsea_cleaner",
"git": {
"service": 0,
"org_name": "Team-Neptune",
"repo_name": "DeepSea-Cleaner",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "JKSV",
{ "parameters": null
"name": "JKSV",
"download_function_name": "download_jksv",
"git": {
"service": 0,
"org_name": "J-D-K",
"repo_name": "JKSV",
"asset_patterns": [
".*\\.nro"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "NXMTP",
{ "parameters": null
"name": "NXMTP",
"download_function_name": "download_nxmtp",
"git": {
"service": 0,
"org_name": "liuervehc",
"repo_name": "nxmtp",
"asset_patterns": [
".*\\.nro"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "ldn_mitm",
{ "parameters": null
"name": "ldn_mitm",
"download_function_name": "download_ldn_mitm",
"git": {
"service": 0,
"org_name": "spacemeowx2",
"repo_name": "ldn_mitm",
"asset_patterns": [
".*ldn_mitm.*\\.zip"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "Lockpick_RCM",
{ "parameters": null
"name": "Lockpick_RCM",
"download_function_name": "download_lockpick_rcm",
"git": {
"service": 0,
"org_name": "shchmue",
"repo_name": "Lockpick_RCM",
"asset_patterns": [
".*\\.bin"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "nx-ovlloader",
{ "parameters": null
"name": "nx-ovlloader",
"download_function_name": "download_nx_ovlloader",
"git": {
"service": 0,
"org_name": "WerWolv",
"repo_name": "nx-ovlloader",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "ovlSysModules",
{ "parameters": null
"name": "ovlSysModules",
"download_function_name": "download_ovl_sysmodules",
"git": {
"service": 0,
"org_name": "WerWolv",
"repo_name": "ovl-sysmodules",
"asset_patterns": [
".*\\.ovl"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "Status Monitor Overlay",
{ "parameters": null
"name": "Status Monitor Overlay",
"download_function_name": "download_status_monitor_overlay",
"git": {
"service": 0,
"org_name": "masagrator",
"repo_name": "Status-Monitor-Overlay",
"asset_patterns": [
".*\\.ovl"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "sys-clk",
{ "parameters": null
"name": "sys-clk",
"download_function_name": "download_sys_clk",
"git": {
"service": 0,
"org_name": "retronx-team",
"repo_name": "sys-clk",
"asset_patterns": [
".*sys-clk-.*\\.zip"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "sys-clk-ovl",
{ "parameters": null
"name": "sys-con",
"download_function_name": "download_sys_con",
"git": {
"service": 0,
"org_name": "cathery",
"repo_name": "sys-con",
"asset_patterns": [
".*sys-con-.*\\.zip"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "sys-con",
{ "parameters": null
"name": "sys-ftpd-light",
"download_function_name": "download_sys_ftpd_light",
"git": {
"service": 0,
"org_name": "cathery",
"repo_name": "sys-ftpd-light",
"asset_patterns": [
".*sys-ftpd-light.*\\.zip"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
}, "module_name": "sys-ftpd-light",
{ "parameters": null
"name": "Tesla-Menu",
"download_function_name": "download_tesla_menu",
"git": {
"service": 0,
"org_name": "WerWolv",
"repo_name": "Tesla-Menu",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": null {
} "module_name": "Tesla-Menu",
] "parameters": null
}
]
}

View file

@ -183,7 +183,7 @@ def get_version(module, release, index):
return groups[0] return groups[0]
def download_atmosphere(module, temp_directory, deepsea_version, deepsea_build): def download_atmosphere(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module) release = get_latest_release(module)
bundle_path = download_asset(module, release, 0) bundle_path = download_asset(module, release, 0)
if bundle_path is None: if bundle_path is None:
@ -214,7 +214,7 @@ def download_atmosphere(module, temp_directory, deepsea_version, deepsea_build):
return get_version(module, release, 0) return get_version(module, release, 0)
def download_hekate(module, temp_directory, deepsea_version, deepsea_build): def download_hekate(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module) release = get_latest_release(module)
bundle_path = download_asset(module, release, 0) bundle_path = download_asset(module, release, 0)
if bundle_path is None: if bundle_path is None:
@ -254,7 +254,7 @@ def download_hekate(module, temp_directory, deepsea_version, deepsea_build):
return get_version(module, release, 0) return get_version(module, release, 0)
def download_hekate_icons(module, temp_directory, deepsea_version, deepsea_build): def download_hekate_icons(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module) release = get_latest_release(module)
bundle_path = download_asset(module, release, 0) bundle_path = download_asset(module, release, 0)
if bundle_path is None: if bundle_path is None:
@ -279,7 +279,7 @@ def download_hekate_icons(module, temp_directory, deepsea_version, deepsea_build
return get_version(module, release, 0) return get_version(module, release, 0)
def download_appstore(module, temp_directory, deepsea_version, deepsea_build): def download_appstore(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module) release = get_latest_release(module)
bundle_path = download_asset(module, release, 0) bundle_path = download_asset(module, release, 0)
if bundle_path is None: if bundle_path is None:
@ -296,7 +296,7 @@ def download_appstore(module, temp_directory, deepsea_version, deepsea_build):
return get_version(module, release, 0) return get_version(module, release, 0)
def download_edizon(module, temp_directory, deepsea_version, deepsea_build): def download_edizon(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module) release = get_latest_release(module)
app_path = download_asset(module, release, 0) app_path = download_asset(module, release, 0)
if app_path is None: if app_path is None:
@ -316,7 +316,7 @@ def download_edizon(module, temp_directory, deepsea_version, deepsea_build):
return get_version(module, release, 0) return get_version(module, release, 0)
def download_emuiibo(module, temp_directory, deepsea_version, deepsea_build): def download_emuiibo(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module) release = get_latest_release(module)
bundle_path = download_asset(module, release, 0) bundle_path = download_asset(module, release, 0)
if bundle_path is None: if bundle_path is None:
@ -342,7 +342,7 @@ def download_emuiibo(module, temp_directory, deepsea_version, deepsea_build):
return get_version(module, release, 0) return get_version(module, release, 0)
def download_goldleaf(module, temp_directory, deepsea_version, deepsea_build): def download_goldleaf(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module) release = get_latest_release(module)
app_path = download_asset(module, release, 0) app_path = download_asset(module, release, 0)
if app_path is None: if app_path is None:
@ -355,7 +355,7 @@ def download_goldleaf(module, temp_directory, deepsea_version, deepsea_build):
return get_version(module, release, 0) return get_version(module, release, 0)
def download_deepsea_cleaner(module, temp_directory, deepsea_version, deepsea_build): def download_deepsea_cleaner(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module) release = get_latest_release(module)
bundle_path = download_asset(module, release, 0) bundle_path = download_asset(module, release, 0)
if bundle_path is None: if bundle_path is None:
@ -367,7 +367,7 @@ def download_deepsea_cleaner(module, temp_directory, deepsea_version, deepsea_bu
return get_version(module, release, 0) return get_version(module, release, 0)
def download_deepsea_toolbox(module, temp_directory, deepsea_version, deepsea_build): def download_deepsea_toolbox(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module) release = get_latest_release(module)
app_path = download_asset(module, release, 0) app_path = download_asset(module, release, 0)
if app_path is None: if app_path is None:
@ -384,7 +384,7 @@ def download_deepsea_toolbox(module, temp_directory, deepsea_version, deepsea_bu
return get_version(module, release, 0) return get_version(module, release, 0)
def download_kosmos_updater(module, temp_directory, deepsea_version, deepsea_build): def download_kosmos_updater(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module) release = get_latest_release(module)
app_path = download_asset(module, release, 0) app_path = download_asset(module, release, 0)
if app_path is None: if app_path is None:
@ -401,7 +401,7 @@ def download_kosmos_updater(module, temp_directory, deepsea_version, deepsea_bui
return get_version(module, release, 0) return get_version(module, release, 0)
def download_ldn_mitm(module, temp_directory, deepsea_version, deepsea_build): def download_ldn_mitm(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module) release = get_latest_release(module)
bundle_path = download_asset(module, release, 0) bundle_path = download_asset(module, release, 0)
if bundle_path is None: if bundle_path is None:
@ -420,7 +420,7 @@ def download_ldn_mitm(module, temp_directory, deepsea_version, deepsea_build):
return get_version(module, release, 0) return get_version(module, release, 0)
def download_lockpick(module, temp_directory, deepsea_version, deepsea_build): def download_lockpick(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module) release = get_latest_release(module)
app_path = download_asset(module, release, 0) app_path = download_asset(module, release, 0)
if app_path is None: if app_path is None:
@ -433,7 +433,7 @@ def download_lockpick(module, temp_directory, deepsea_version, deepsea_build):
return get_version(module, release, 0) return get_version(module, release, 0)
def download_lockpick_rcm(module, temp_directory, deepsea_version, deepsea_build): def download_lockpick_rcm(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module) release = get_latest_release(module)
payload_path = download_asset(module, release, 0) payload_path = download_asset(module, release, 0)
if payload_path is None: if payload_path is None:
@ -449,7 +449,7 @@ def download_lockpick_rcm(module, temp_directory, deepsea_version, deepsea_build
return get_version(module, release, 0) return get_version(module, release, 0)
def download_nxdumptool(module, temp_directory, deepsea_version, deepsea_build): def download_nxdumptool(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module) release = get_latest_release(module)
app_path = download_asset(module, release, 0) app_path = download_asset(module, release, 0)
if app_path is None: if app_path is None:
@ -462,7 +462,7 @@ def download_nxdumptool(module, temp_directory, deepsea_version, deepsea_build):
return get_version(module, release, 0) return get_version(module, release, 0)
def download_nx_ovlloader(module, temp_directory, deepsea_version, deepsea_build): def download_nx_ovlloader(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module) release = get_latest_release(module)
bundle_path = download_asset(module, release, 0) bundle_path = download_asset(module, release, 0)
if bundle_path is None: if bundle_path is None:
@ -476,7 +476,7 @@ def download_nx_ovlloader(module, temp_directory, deepsea_version, deepsea_build
return get_version(module, release, 0) return get_version(module, release, 0)
def download_ovl_sysmodules(module, temp_directory, deepsea_version, deepsea_build): def download_ovl_sysmodules(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module) release = get_latest_release(module)
app_path = download_asset(module, release, 0) app_path = download_asset(module, release, 0)
if app_path is None: if app_path is None:
@ -489,7 +489,7 @@ def download_ovl_sysmodules(module, temp_directory, deepsea_version, deepsea_bui
return get_version(module, release, 0) return get_version(module, release, 0)
def download_status_monitor_overlay(module, temp_directory, deepsea_version, deepsea_build): def download_status_monitor_overlay(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module) release = get_latest_release(module)
app_path = download_asset(module, release, 0) app_path = download_asset(module, release, 0)
if app_path is None: if app_path is None:
@ -502,7 +502,7 @@ def download_status_monitor_overlay(module, temp_directory, deepsea_version, dee
return get_version(module, release, 0) return get_version(module, release, 0)
def download_sys_clk(module, temp_directory, deepsea_version, deepsea_build): def download_sys_clk(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module) release = get_latest_release(module)
bundle_path = download_asset(module, release, 0) bundle_path = download_asset(module, release, 0)
if bundle_path is None: if bundle_path is None:
@ -522,7 +522,19 @@ def download_sys_clk(module, temp_directory, deepsea_version, deepsea_build):
return get_version(module, release, 0) return get_version(module, release, 0)
def download_sys_con(module, temp_directory, deepsea_version, deepsea_build): def download_sys_clk_ovl(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module)
app_path = download_asset(module, release, 0)
if app_path is None:
return None
common.move(app_path, temp_directory.joinpath(
'switch/.overlays/sys-clk-Overlay.ovl'))
return get_version(module, release, 0)
def download_sys_con(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module) release = get_latest_release(module)
bundle_path = download_asset(module, release, 0) bundle_path = download_asset(module, release, 0)
if bundle_path is None: if bundle_path is None:
@ -539,7 +551,7 @@ def download_sys_con(module, temp_directory, deepsea_version, deepsea_build):
return get_version(module, release, 0) return get_version(module, release, 0)
def download_sys_ftpd_light(module, temp_directory, deepsea_version, deepsea_build): def download_sys_ftpd_light(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module) release = get_latest_release(module)
bundle_path = download_asset(module, release, 0) bundle_path = download_asset(module, release, 0)
if bundle_path is None: if bundle_path is None:
@ -556,7 +568,7 @@ def download_sys_ftpd_light(module, temp_directory, deepsea_version, deepsea_bui
return get_version(module, release, 0) return get_version(module, release, 0)
def download_tesla_menu(module, temp_directory, deepsea_version, deepsea_build): def download_tesla_menu(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module) release = get_latest_release(module)
bundle_path = download_asset(module, release, 0) bundle_path = download_asset(module, release, 0)
if bundle_path is None: if bundle_path is None:
@ -570,7 +582,7 @@ def download_tesla_menu(module, temp_directory, deepsea_version, deepsea_build):
return get_version(module, release, 0) return get_version(module, release, 0)
def download_awoo(module, temp_directory, deepsea_version, deepsea_build): def download_awoo(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module) release = get_latest_release(module)
app_path = download_asset(module, release, 0) app_path = download_asset(module, release, 0)
if app_path is None: if app_path is None:
@ -582,7 +594,7 @@ def download_awoo(module, temp_directory, deepsea_version, deepsea_build):
return get_version(module, release, 0) return get_version(module, release, 0)
def download_jksv(module, temp_directory, deepsea_version, deepsea_build): def download_jksv(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module) release = get_latest_release(module)
app_path = download_asset(module, release, 0) app_path = download_asset(module, release, 0)
if app_path is None: if app_path is None:
@ -595,7 +607,7 @@ def download_jksv(module, temp_directory, deepsea_version, deepsea_build):
return get_version(module, release, 0) return get_version(module, release, 0)
def download_nxmtp(module, temp_directory, deepsea_version, deepsea_build): def download_nxmtp(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module) release = get_latest_release(module)
app_path = download_asset(module, release, 0) app_path = download_asset(module, release, 0)
if app_path is None: if app_path is None:
@ -608,7 +620,7 @@ def download_nxmtp(module, temp_directory, deepsea_version, deepsea_build):
return get_version(module, release, 0) return get_version(module, release, 0)
def download_pkg2_patches(module, temp_directory, deepsea_version, deepsea_build): def download_pkg2_patches(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module) release = get_latest_release(module)
fusee_patches_path = download_asset(module, release, 0) fusee_patches_path = download_asset(module, release, 0)
if fusee_patches_path is None: if fusee_patches_path is None:
@ -635,7 +647,7 @@ def download_pkg2_patches(module, temp_directory, deepsea_version, deepsea_build
return get_version(module, release, 0) return get_version(module, release, 0)
def download_es_patches(module, temp_directory, deepsea_version, deepsea_build): def download_es_patches(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module) release = get_latest_release(module)
es_patches_path = download_asset(module, release, 0) es_patches_path = download_asset(module, release, 0)
if es_patches_path is None: if es_patches_path is None:
@ -649,60 +661,67 @@ def download_es_patches(module, temp_directory, deepsea_version, deepsea_build):
return get_version(module, release, 0) return get_version(module, release, 0)
def build(temp_directory, deepsea_version, command, auto_build): def build(temp_directory, deepsea_version, package_content, auto_build):
results = [] results = []
modules_filename = 'deepsea.json' # Open up modules-definitions.json first and load all modules
if command == common.Command.KosmosMinimal: mods_map = {}
modules_filename = 'deepsea-minimal.json' with open("Modules/modules-definitions.json") as mod_json_file:
elif command == common.Command.SDSetup: mods_data = json.load(mod_json_file)
modules_filename = 'sdsetup.json'
elif command == common.Command.KosmosPatches: for module_def in mods_data:
modules_filename = "deepsea-patches.json" name = module_def['name']
elif command == common.Command.KosmosMinimalPatches: if name in mods_map:
modules_filename = "deepsea-minimal-patches.json" raise Exception(
'Multiple definitions of module with name '+name)
mods_map[name] = module_def
# Open up modules.json # Open up modules.json
with open(modules_filename) as json_file: data = package_content['modules']
# Parse JSON
data = json.load(json_file)
# Loop through modules # Loop through modules
for module in data: for mod_entry in data:
# Running a SDSetup Build mod_id = mod_entry['module_name']
if command == common.Command.SDSetup: if mod_id not in mods_map:
# Only show prompts when it's not an auto build. raise Exception('Module with name '+mod_id+' does not exist')
if not auto_build:
print(f'Downloading {module["name"]}...')
# Make sure module directory is created. module = mods_map[mod_id]
module_directory = temp_directory.joinpath( parameters = mod_entry.get('parameters')
module['sdsetup_module_name'])
common.mkdir(module_directory)
# Download the module. # Running a SDSetup Build
download = globals()[module['download_function_name']] if package_content['is_sdsetup']:
version = download(module, module_directory, # Only show prompts when it's not an auto build.
deepsea_version, False) if not auto_build:
if version is None:
return None
# Auto builds have a different prompt at the end for parsing.
if auto_build:
results.append(
f'{module["sdsetup_module_name"]}:{version}')
else:
results.append(f' {module["name"]} - {version}')
# Running a Kosmos Build
else:
# Download the module.
print(f'Downloading {module["name"]}...') print(f'Downloading {module["name"]}...')
download = globals()[module['download_function_name']]
version = download(module, temp_directory, # Make sure module directory is created.
deepsea_version, True) module_directory = temp_directory.joinpath(
if version is None: module['sdsetup_module_name'])
return None common.mkdir(module_directory)
# Download the module.
download = globals()[module['download_function_name']]
version = download(module, module_directory,
deepsea_version, parameters, False)
if version is None:
return None
# Auto builds have a different prompt at the end for parsing.
if auto_build:
results.append(
f'{module["sdsetup_module_name"]}:{version}')
else:
results.append(f' {module["name"]} - {version}') results.append(f' {module["name"]} - {version}')
# Running a Kosmos Build
else:
# Download the module.
print(f'Downloading {module["name"]}...')
download = globals()[module['download_function_name']]
version = download(module, temp_directory,
deepsea_version, parameters, True)
if version is None:
return None
results.append(f' {module["name"]} - {version}')
return results return results

View file

@ -1,243 +1,70 @@
[ {
{ "package_name": "SDSetup",
"name": "Atmosphère", "is_sdsetup": true,
"download_function_name": "download_atmosphere", "modules": [
"git": { {
"service": 0, "module_name": "Atmosphère",
"org_name": "Atmosphere-NX", "parameters": null
"repo_name": "Atmosphere",
"asset_patterns": [
".*atmosphere.*\\.zip",
".*fusee.*\\.bin"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": "must_have" {
}, "module_name": "Hekate",
{ "parameters": null
"name": "Hekate",
"download_function_name": "download_hekate",
"git": {
"service": 0,
"org_name": "CTCaer",
"repo_name": "hekate",
"asset_patterns": [
".*hekate.*\\.zip"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": "hekate" {
}, "module_name": "Hekate Icons",
{ "parameters": null
"name": "Hekate Icons",
"download_function_name": "download_hekate_icons",
"git": {
"service": 0,
"org_name": "NicholeMattera",
"repo_name": "Hekate-Icons",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": "hekate_icons" {
}, "module_name": "Emuiibo",
{ "parameters": null
"name": "Emuiibo",
"download_function_name": "download_emuiibo",
"git": {
"service": 0,
"org_name": "XorTroll",
"repo_name": "emuiibo",
"asset_patterns": [
".*emuiibo.*\\.zip"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": "emuiibo" {
}, "module_name": "Kosmos Cleaner",
{ "parameters": null
"name": "Kosmos Cleaner",
"download_function_name": "download_kosmos_cleaner",
"git": {
"service": 0,
"org_name": "AtlasNX",
"repo_name": "Kosmos-Cleaner",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": "kosmos_cleaner" {
}, "module_name": "Kosmos Toolbox",
{ "parameters": null
"name": "Kosmos Toolbox",
"download_function_name": "download_kosmos_toolbox",
"git": {
"service": 0,
"org_name": "AtlasNX",
"repo_name": "Kosmos-Toolbox",
"asset_patterns": [
".*\\.nro"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": "kosmos_toolbox" {
}, "module_name": "Kosmos Updater",
{ "parameters": null
"name": "Kosmos Updater",
"download_function_name": "download_kosmos_updater",
"git": {
"service": 0,
"org_name": "AtlasNX",
"repo_name": "Kosmos-Updater",
"asset_patterns": [
".*\\.nro"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": "kosmos_updater" {
}, "module_name": "ldn_mitm",
{ "parameters": null
"name": "ldn_mitm",
"download_function_name": "download_ldn_mitm",
"git": {
"service": 0,
"org_name": "spacemeowx2",
"repo_name": "ldn_mitm",
"asset_patterns": [
".*ldn_mitm.*\\.zip"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": "ldn_mitm" {
}, "module_name": "Lockpick_RCM",
{ "parameters": null
"name": "Lockpick_RCM",
"download_function_name": "download_lockpick_rcm",
"git": {
"service": 0,
"org_name": "shchmue",
"repo_name": "Lockpick_RCM",
"asset_patterns": [
".*\\.bin"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": "lockpick_rcm" {
}, "module_name": "nx-ovlloader",
{ "parameters": null
"name": "nx-ovlloader",
"download_function_name": "download_nx_ovlloader",
"git": {
"service": 0,
"org_name": "WerWolv",
"repo_name": "nx-ovlloader",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": "nx_ovlloader" {
}, "module_name": "ovlSysModules",
{ "parameters": null
"name": "ovlSysModules",
"download_function_name": "download_ovl_sysmodules",
"git": {
"service": 0,
"org_name": "WerWolv",
"repo_name": "ovl-sysmodules",
"asset_patterns": [
".*\\.ovl"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": "ovl_sysmodules" {
}, "module_name": "Status Monitor Overlay",
{ "parameters": null
"name": "Status Monitor Overlay",
"download_function_name": "download_status_monitor_overlay",
"git": {
"service": 0,
"org_name": "masagrator",
"repo_name": "Status-Monitor-Overlay",
"asset_patterns": [
".*\\.ovl"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": "status_monitor_overlay" {
}, "module_name": "sys-clk",
{ "parameters": null
"name": "sys-clk",
"download_function_name": "download_sys_clk",
"git": {
"service": 0,
"org_name": "retronx-team",
"repo_name": "sys-clk",
"asset_patterns": [
".*sys-clk-.*\\.zip"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": "sys_clk" {
}, "module_name": "sys-con",
{ "parameters": null
"name": "sys-con",
"download_function_name": "download_sys_con",
"git": {
"service": 0,
"org_name": "cathery",
"repo_name": "sys-con",
"asset_patterns": [
".*sys-con-.*\\.zip"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": "sys_con" {
}, "module_name": "sys-ftpd-light",
{ "parameters": null
"name": "sys-ftpd-light",
"download_function_name": "download_sys_ftpd_light",
"git": {
"service": 0,
"org_name": "cathery",
"repo_name": "sys-ftpd-light",
"asset_patterns": [
".*sys-ftpd-light.*\\.zip"
],
"group": null,
"version_pattern": null
}, },
"sdsetup_module_name": "sys_ftpd" {
}, "module_name": "Tesla-Menu",
{ "parameters": null
"name": "Tesla-Menu", }
"download_function_name": "download_tesla_menu", ]
"git": { }
"service": 0,
"org_name": "WerWolv",
"repo_name": "Tesla-Menu",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": "tesla_menu"
}
]