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
@ -68,4 +68,4 @@ Send the Hekate payload to your Switch in RCM mode and launch the CFW
## Notes ## Notes
Though we offer a "patched" package that enables the installation and usage of your backup and unlawfully obtained games, we do not condone piracy. The reason we offer this package is because we rather include it ourself instead of letting users go to other sources and use more shady versions of our or other CFW's/packages. Its up to the end user to decide if he wants to be on the good or the bad side, just like in life. The patches used are from [HarukoNX/PKG2-Patches](https://github.com/HarukoNX/PKG2-Patches) and [HarukoNX/ES-Patches](https://github.com/HarukoNX/PKG2-Patches). Though we offer a "patched" package that enables the installation and usage of your backup and unlawfully obtained games, we do not condone piracy. The reason we offer this package is because we rather include it ourself instead of letting users go to other sources and use more shady versions of our or other CFW's/packages. Its up to the end user to decide if he wants to be on the good or the bad side, just like in life. The patches used are from [HarukoNX/PKG2-Patches](https://github.com/HarukoNX/PKG2-Patches) and [HarukoNX/ES-Patches](https://github.com/HarukoNX/PKG2-Patches).
We will not offer any kind of support related to the patches or piracy. We will not offer any kind of support related to the patches or piracy.

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"
}
]