-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[RELEASE][2.1.0] CLI for NexusDownloadFlow (#32)
* beginning of 2.0.1 * beginning of 2.1.0 * [0033] [ndf-script] [debt] Accessibility scope organization (dev) * [0018] [ndf-script] Commands (#23) This merge closes #5 * [0024] [ndf-script] Keyboard shortcuts for commands (#28) * Delete old template matching scripts * Delete the ask to keep the logfile workaround * Add the Pause, Resume, and Stop features * Update requirements file * Correcting doc * [0034] [ndf-script] Technical documentation for 2.1.0 (#29) * Add technical doc to typer cli * Add technical doc to typer cli 2 * update git ignore file * add technical documentation * add operating documentation (#30) * [0035] [ndf-script] Operating documentation for 2.1.0 #25 (#31) * add operating documentation * correction + ajout dans le dossier documentation * Update build.spec
- Loading branch information
Showing
39 changed files
with
1,551 additions
and
610 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,24 +1,182 @@ | ||
# NexusDownloadFlow: Auto-downloader for Nexus Mods | ||
# NexusDownloadFlow (NDF) | ||
|
||
NexusDownloadFlow (NDF) is a program that automates the download process with `Wabbajack modlist installation of Nexus | ||
Mods` in which you have to manually click on `Slow download` button if your Nexus Mods account is not premium. | ||
**NexusDownloadFlow (NDF)** | ||
is an automated downloader designed to simplify the process of downloading mod lists from | ||
[Nexus Mods](https://www.nexusmods.com/). | ||
By automatically handling the download process, | ||
it saves time and effort for users who frequently manage large collections of mods. | ||
|
||
## How to use NexusDownloadFlow? | ||
## Install | ||
|
||
### Without Wabbajack | ||
Download the latest version [here](https://github.com/greg-ynx/NexusDownloadFlow/releases). | ||
NDF is only available for Windows as an executable. | ||
If you wish to use it on another OS then download the project and run it with Python. | ||
|
||
Execute `NexusDownloadFlow.exe` and open your Nexus Mods download page. | ||
## Usage | ||
|
||
### With Wabbajack | ||
### Basic Usage | ||
|
||
Execute `NexusDownloadFlow.exe` while the mod list is downloading. | ||
While running `Wabbajack` modlist installer (for example), run `NexusDownloadFlow.exe`. | ||
NDF should click on the `Slow download` button, automating the download process. | ||
|
||
## Auto-clicker is not clicking | ||
### Command-Line Interface (CLI) Usage | ||
|
||
Open an issue [here](https://github.com/greg-ynx/NexusDownloadFlow/issues/new), and if possible, give the scenario in which you had this issue, which version of NDF you are using | ||
and provide a screenshot of your logs or the contents of your current `{date}_ndf.log` file. | ||
NexusDownloadFlow is a CLI application with commands that will allow you to configure and run the auto-downloader. | ||
|
||
## Credits | ||
To access detailed information about the available commands and options in NDF, you can use the `--help` option. | ||
This will display a list of all commands and their descriptions. | ||
|
||
Thanks to [parsiad](https://github.com/parsiad) for inspiring me with his repository named | ||
[`parsiad/nexus-autodl`](https://github.com/parsiad/nexus-autodl). | ||
Example: | ||
|
||
```bash | ||
.\NexusDownloadFlow.exe --help | ||
``` | ||
|
||
#### Run | ||
|
||
You can run NDF simply by clicking on the executable or with the command line: | ||
|
||
```bash | ||
.\NexusDownloadFlow.exe | ||
``` | ||
|
||
NDF offers three different launch modes to suit your specific needs when downloading mod lists. | ||
|
||
Each mode determines how the templates are handled during the download process. | ||
|
||
1. **Classic Mode (default)** | ||
<br> | ||
This is the default mode. | ||
It uses the predefined templates provided by NDF to automate the download of mods. | ||
No additional setup is required. | ||
To run in Classic mode, use: | ||
|
||
```bash | ||
.\NexusDownloadFlow.exe | ||
``` | ||
|
||
2. **Custom Mode** | ||
<br> | ||
In Custom mode, NDF only uses the templates that you have manually added. | ||
This allows NDF to be fully adapted to your environment. | ||
To launch in Custom mode: | ||
|
||
```bash | ||
.\NexusDownloadFlow.exe --mode custom # Or .\NexusDownloadFlow.exe -m custom | ||
``` | ||
|
||
3. **Hybrid Mode** | ||
<br> | ||
Hybrid mode combines both the default templates provided by NDF and your custom templates. | ||
This allows for a more comprehensive approach, using both standard automation and user-specific customizations. | ||
To launch in Hybrid mode: | ||
|
||
```bash | ||
.\NexusDownloadFlow.exe --mode hybrid # Or .\NexusDownloadFlow.exe -m hybrid | ||
``` | ||
|
||
#### Adding Custom Templates | ||
|
||
Users can enhance the flexibility of NDF by adding their own custom templates. | ||
You can add your own templates using the `add-templates` command: | ||
|
||
```bash | ||
.\NexusDownloadFlow.exe add-templates path/of/custom_template.png path/of/second_custom_template.png | ||
``` | ||
|
||
Custom templates are stored in a directory (`custom_templates`) located where `NexusDownloadFlow.exe` is. | ||
|
||
#### Removing Custom Templates | ||
|
||
In addition to adding templates, | ||
NDF allows users to remove one or more custom templates that they have previously added. | ||
This can be done using the `remove-templates` command. | ||
|
||
**Removing a Specific Template** | ||
To remove a specific custom template, use the following command: | ||
|
||
```bash | ||
.\NexusDownloadFlow.exe remove-templates custom_templates/custom_template_to_delete.png | ||
``` | ||
|
||
**Removing All Custom Templates** | ||
If you want to remove all custom templates at once, you can use the `--all` option with the `remove-templates` command: | ||
|
||
```bash | ||
.\NexusDownloadFlow.exe remove-templates --all | ||
``` | ||
|
||
## Feature | ||
|
||
### Run Command | ||
|
||
The run feature is the core of NexusDownloadFlow (NDF), | ||
allowing users to launch the automation process for downloading mods from Nexus Mods. | ||
With this feature, users can choose between three distinct launch modes depending on their needs and preferences. | ||
|
||
Available Modes: | ||
|
||
1. Classic Mode (default) | ||
Runs the automation using the default templates provided by NDF. | ||
|
||
2. Custom Mode | ||
Uses only the custom templates added by the user. | ||
|
||
3. Hybrid Mode | ||
Combines both default and custom templates. | ||
|
||
### Version Command | ||
|
||
The `version` command allows users to quickly check which version of NexusDownloadFlow they are using. | ||
This can be useful for troubleshooting or ensuring that you have the latest features and updates. | ||
|
||
To display the current version, run: | ||
|
||
```bash | ||
.\NexusDownloadFlow version # Or -v | ||
``` | ||
|
||
This will output the version number of NDF installed on your system. | ||
|
||
### Add-Templates Command | ||
|
||
The `add-templates` command allows you to add your custom templates to NexusDownloadFlow. | ||
|
||
### Remove-Templates Command | ||
|
||
The `remove-templates` command allows you to delete your custom templates from NexusDownloadFlow. | ||
|
||
### Clear-Logs Command | ||
|
||
The `clear-logs` command is used to delete all log files generated by NDF. | ||
This helps to free up disk space and remove old log data that is no longer needed. | ||
|
||
To clear the logs, use: | ||
|
||
```bash | ||
.\NexusDownloadFlow clear-logs | ||
``` | ||
|
||
### Writing issue template for GitHub | ||
|
||
The `issue` command helps users quickly create a pre-filled GitHub issue form for reporting bugs or requesting features | ||
related to NexusDownloadFlow. | ||
|
||
To generate the issue form, use: | ||
|
||
```bash | ||
.\NexusDownloadFlow issue | ||
``` | ||
|
||
## Development requirements | ||
|
||
Python v3.11 and: | ||
|
||
```text | ||
keyboard~=0.13.5 | ||
opencv-python~=4.10.0.84 | ||
mss~=9.0.2 | ||
PyAutoGUI~=0.9.54 | ||
psutil~=6.0.0 | ||
typer~=0.12.5 | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
"""Messages constants module.""" | ||
|
||
from config.definitions import CUSTOM_TEMPLATES_DIRECTORY_PATH | ||
|
||
NO_ACTION_REQUIRED_MESSAGE: str = "No action required." | ||
CUSTOM_TEMPLATES_DIRECTORY_IS_NOT_A_DIRECTORY_ERROR_MESSAGE: str = ( | ||
f"'{CUSTOM_TEMPLATES_DIRECTORY_PATH}' exists but is not a directory." | ||
) | ||
CUSTOM_TEMPLATES_FOLDER_DOES_NOT_EXIST_WARNING_MESSAGE: str = ( | ||
f"The custom templates folder does not exist at '{CUSTOM_TEMPLATES_DIRECTORY_PATH}'. {NO_ACTION_REQUIRED_MESSAGE}" | ||
) | ||
CUSTOM_TEMPLATES_FOLDER_EMPTY_WARNING_MESSAGE: str = ( | ||
f"The custom templates folder is empty. {NO_ACTION_REQUIRED_MESSAGE}" | ||
) | ||
FILE_PATH_INVALID_FILE_ERROR_MESSAGE: str = "The provided path '{file_path}' is not a valid file." | ||
FILE_PATH_INVALID_IMAGE_ERROR_MESSAGE: str = "The file '{file_path}' is not a valid image." |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
# {issue_title} | ||
|
||
## Environment | ||
|
||
NexusDownloadFlow version: {ndf_version} | ||
Operating System (OS) and its architecture (32/64 bits): {user_operating_system} - {user_operating_system_architecture} | ||
System RAM capacity: {user_system_ram_capacity} GB | ||
Monitors: {user_monitors_count} | ||
Monitors resolution details: {user_monitors_resolutions} | ||
|
||
## Description | ||
|
||
{issue_description} |
File renamed without changes
File renamed without changes
File renamed without changes
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
"""Public application properties.""" | ||
|
||
from config.definitions import PROJECT_DATA | ||
|
||
PROJECT_VERSION: str = str(PROJECT_DATA.get("version")) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.