From a79db5350728816fb8b68cf2b0ca001228eb1a94 Mon Sep 17 00:00:00 2001 From: NinjaCheetah <58050615+NinjaCheetah@users.noreply.github.com> Date: Mon, 29 Apr 2024 11:15:19 -0400 Subject: [PATCH] Rename NUSD-Py to NUSGet --- .github/workflows/python-build.yml | 26 +++++++++++++------------- .gitignore | 6 +++--- NUSD-Py.py => NUSGet.py | 7 +++++-- README.md | 18 ++++++++++-------- 4 files changed, 31 insertions(+), 26 deletions(-) rename NUSD-Py.py => NUSGet.py (98%) diff --git a/.github/workflows/python-build.yml b/.github/workflows/python-build.yml index e295c78..7568c0b 100644 --- a/.github/workflows/python-build.yml +++ b/.github/workflows/python-build.yml @@ -31,17 +31,17 @@ jobs: pip install -r requirements.txt - name: Build Package run: | - nuitka3 --show-progress --include-data-dir=data=data --assume-yes-for-downloads --onefile --plugin-enable=pyside6 NUSD-Py.py + nuitka3 --show-progress --include-data-dir=data=data --assume-yes-for-downloads --onefile --plugin-enable=pyside6 NUSGet.py - name: Prepare Package for Upload run: | - mv NUSD-Py.bin ~/NUSD-Py.bin + mv NUSGet.bin ~/NUSGet.bin cd ~ - tar cvf NUSD-Py.tar NUSD-Py.bin + tar cvf NUSGet.tar NUSGet.bin - name: Upload Package uses: actions/upload-artifact@v4.3.0 with: - path: ~/NUSD-Py.tar - name: NUSD-Py-linux-bin + path: ~/NUSGet.tar + name: NUSGet-linux-bin build-macos: @@ -59,17 +59,17 @@ jobs: pip install -r requirements.txt - name: Build Package run: | - nuitka3 --show-progress --include-data-dir=data=data --assume-yes-for-downloads --standalone --plugin-enable=pyside6 NUSD-Py.py --macos-create-app-bundle --disable-console + nuitka3 --show-progress --include-data-dir=data=data --assume-yes-for-downloads --standalone --plugin-enable=pyside6 NUSGet.py --macos-create-app-bundle --disable-console - name: Prepare Package for Upload run: | - mv NUSD-Py.app ~/NUSD-Py.app + mv NUSGet.app ~/NUSGet.app cd ~ - tar cvf NUSD-Py.tar NUSD-Py.app + tar cvf NUSGet.tar NUSGet.app - name: Upload Package uses: actions/upload-artifact@v4.3.0 with: - path: ~/NUSD-Py.tar - name: NUSD-Py-macos-bin + path: ~/NUSGet.tar + name: NUSGet-macos-bin build-windows: @@ -89,10 +89,10 @@ jobs: pip install -r requirements.txt - name: Build Package run: | - nuitka --show-progress --include-data-dir=data=data --assume-yes-for-downloads --onefile --plugin-enable=pyside6 NUSD-Py.py --disable-console + nuitka --show-progress --include-data-dir=data=data --assume-yes-for-downloads --onefile --plugin-enable=pyside6 NUSGet.py --disable-console - name: Upload Package uses: actions/upload-artifact@v4.3.0 with: - path: D:\a\NUSD-Py\NUSD-Py\NUSD-Py.exe - name: NUSD-Py-windows-bin + path: D:\a\NUSGet\NUSGet\NUSGet.exe + name: NUSGet-windows-bin diff --git a/.gitignore b/.gitignore index a6ea93e..ce4db11 100644 --- a/.gitignore +++ b/.gitignore @@ -24,9 +24,9 @@ share/python-wheels/ *.egg-info/ main.build/ main.dist/ -NUSD-Py.build/ -NUSD-Py.dist/ -NUSD-Py.onefile-build/ +NUSGet.build/ +NUSGet.dist/ +NUSGet.onefile-build/ .installed.cfg *.egg MANIFEST diff --git a/NUSD-Py.py b/NUSGet.py similarity index 98% rename from NUSD-Py.py rename to NUSGet.py index 3a47562..258dd46 100644 --- a/NUSD-Py.py +++ b/NUSGet.py @@ -1,3 +1,6 @@ +# NUSGet.py, licensed under the MIT license +# Copyright 2024 NinjaCheetah + import sys import os import json @@ -50,7 +53,7 @@ class MainWindow(QMainWindow, Ui_MainWindow): # noinspection PyUnresolvedReferences self.ui.title_tree.header().setSectionResizeMode(QHeaderView.ResizeToContents) - self.ui.log_text_browser.setText("NUSD-Py v1.0\nDeveloped by NinjaCheetah\nPowered by libWiiPy\n\n" + self.ui.log_text_browser.setText("NUSGet v1.0\nDeveloped by NinjaCheetah\nPowered by libWiiPy\n\n" "Select a title from the list on the left, or enter a Title ID to begin.") tree = self.ui.title_tree @@ -359,7 +362,7 @@ if __name__ == "__main__": os.mkdir(out_folder) window = MainWindow() - window.setWindowTitle("NUSD-Py") + window.setWindowTitle("NUSGet") window.show() sys.exit(app.exec()) diff --git a/README.md b/README.md index 85a8b8a..312f59d 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,17 @@ -# NUSD-Py +# NUSGet A modern replacement for NUS Downloader built with Python and Qt 6. Powered by libWiiPy. -[![Python application](https://github.com/NinjaCheetah/NUSD-Py/actions/workflows/python-build.yml/badge.svg)](https://github.com/NinjaCheetah/NUSD-Py/actions/workflows/python-build.yml) +[![Python application](https://github.com/NinjaCheetah/NUSGet/actions/workflows/python-build.yml/badge.svg)](https://github.com/NinjaCheetah/NUSGet/actions/workflows/python-build.yml) ## Why? NUS Downloader (Nintendo Update Server Downloader), is an old tool for downloading titles from the Nintendo Update Servers for the Wii and DSi. Originally released in 2009, and effectively last updated in 2011, it stills works today, however it definitely shows its age, and is in need of a refresh. One of the major shortcomings of NUSD is that it only supports Windows, as most of the tools for the Wii from that era are written in C# and use the .NET Framework, especially since they tend to rely on the C# library libWiiSharp. -With my introduction of [libWiiPy](https://github.com/NinjaCheetah/libWiiPy), there's now a work-in-progress Python library designed to eventually have feature parity with libWiiSharp. At this point in time, the library is featured enough that every piece of libWiiSharp that NUSD relied on is now available in libWiiPy, so I decided to put that to use and create a replacement for it. NUSD-Py offers nearly all the same features as NUSD (currently there is no support for the DSi servers or for scripting), but is built on top of a modern library with a modern graphical framework, that being Qt6. A major benefit of this rewrite is that its fully cross-platform, and is natively compiled for Windows, Linux, and macOS. +With my introduction of [libWiiPy](https://github.com/NinjaCheetah/libWiiPy), there's now a work-in-progress Python library designed to eventually have feature parity with libWiiSharp. At this point in time, the library is featured enough that every piece of libWiiSharp that NUSD relied on is now available in libWiiPy, so I decided to put that to use and create a replacement for it. NUSGet offers nearly all the same features as NUSD (currently there is no support for the DSi servers or for scripting), but is built on top of a modern library with a modern graphical framework, that being Qt6. A major benefit of this rewrite is that its fully cross-platform, and is natively compiled for Windows, Linux, and macOS. + +The name is a play on NuGet, the .NET package manager. Thank you [@Janni9009](https://github.com/Janni9009) for the name idea! ## Features -NUSD-Py allows you to download any content from the Nintendo Update Servers. Free content (content with a Ticket freely available on the servers) can be decrypted or packed directly into a WAD. +NUSDGet allows you to download any content from the Nintendo Update Servers. Free content (content with a Ticket freely available on the servers) can be decrypted or packed directly into a WAD. The following options are available: - Keep encrypted contents: Keeps the files like `00000000`, `00000001`, etc., which are the encrypted contents directly from the update servers. @@ -32,17 +34,17 @@ Then, use the command for your platform to build an executable with Nuitka: **Windows** ``` -nuitka --show-progress --include-data-dir=data=data --assume-yes-for-downloads --onefile --plugin-enable=pyside6 NUSD-Py.py --disable-console +nuitka --show-progress --include-data-dir=data=data --assume-yes-for-downloads --onefile --plugin-enable=pyside6 NUSGet.py --disable-console ``` **Linux** ``` -nuitka3 --show-progress --include-data-dir=data=data --assume-yes-for-downloads --onefile --plugin-enable=pyside6 NUSD-Py.py +nuitka3 --show-progress --include-data-dir=data=data --assume-yes-for-downloads --onefile --plugin-enable=pyside6 NUSGet.py ``` **macOS** ``` -nuitka3 --show-progress --include-data-dir=data=data --assume-yes-for-downloads --onefile --plugin-enable=pyside6 NUSD-Py.py --macos-create-app-bundle --disable-console +nuitka3 --show-progress --include-data-dir=data=data --assume-yes-for-downloads --onefile --plugin-enable=pyside6 NUSGet.py --macos-create-app-bundle --disable-console ``` -The result will be a single binary named `NUSD-Py` that contains everything required to run NUSD-Py. No dependencies are needed on the target system. +The result will be a single binary named `NUSGet` that contains everything required to run NUSGet. No dependencies are needed on the target system.