Skip to content

Commit

Permalink
Merge pull request #44 from SenZmaKi/v2.1.10
Browse files Browse the repository at this point in the history
v2.1.10
  • Loading branch information
SenZmaKi authored Jun 30, 2024
2 parents 93fa75d + fade385 commit 839d5e6
Show file tree
Hide file tree
Showing 45 changed files with 771 additions and 596 deletions.
6 changes: 6 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Editor configuration, see http://editorconfig.org
root = true

[*]
indent_style = space
indent_size = 4
124 changes: 63 additions & 61 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -1,77 +1,79 @@
name: test

on:
push:
branches:
- master
push:
branches:
- master

pull_request:
branches:
- master
pull_request:
branches:
- master

schedule:
# 6:00 A.M UTC == 9:00 AM EAT
- cron: "0 6 * * *"
workflow_dispatch:

schedule:
# 6:00 A.M UTC == 9:00 AM EAT
- cron: "0 6 * * *"

jobs:
test:
runs-on: ubuntu-latest
test:
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v4
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.11"
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.11"

- name: Install dependencies
run: |
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r dev-requirements.txt
poetry install
python -m pip install --upgrade pip
pip install -r dev-requirements.txt
poetry install
- name: Lint
id: lint
continue-on-error: true
run: poetry run ruff .
- name: Lint
id: lint
continue-on-error: true
run: poetry run ruff .

- name: Test Pahe
id: test_pahe
continue-on-error: true
run: poetry run poe test_pahe_ddl
- name: Test Pahe
id: test_pahe
continue-on-error: true
run: poetry run poe test_pahe_dpl

- name: Test Gogo Norm
id: test_gogo_norm
continue-on-error: true
run: poetry run poe test_gogo_norm_ddl
- name: Test Gogo Norm
id: test_gogo_norm
continue-on-error: true
run: poetry run poe test_gogo_norm_ddl

- name: Test Gogo HLS
id: test_gogo_hls
continue-on-error: true
run: poetry run poe test_gogo_hls_ddl
- name: Test Gogo HLS
id: test_gogo_hls
continue-on-error: true
run: poetry run poe test_gogo_hls_ddl

- name: Check results
run: |
failed=false
if [ ${{ steps.lint.outcome }} == "failure" ]; then
echo "Lint failed"
failed=true
fi
if [ ${{ steps.test_pahe.outcome }} == "failure" ]; then
echo "Test Pahe failed"
failed=true
fi
if [ ${{ steps.test_gogo_norm.outcome }} == "failure" ]; then
echo "Test Gogo Norm failed"
failed=true
fi
if [ ${{ steps.test_gogo_hls.outcome }} == "failure" ]; then
echo "Test Gogo HLS failed"
failed=true
fi
if [ $failed = true ]; then
exit 1
fi
- name: Check results
run: |
failed=false
if [ ${{ steps.lint.outcome }} == "failure" ]; then
echo "Lint failed"
failed=true
fi
if [ ${{ steps.test_pahe.outcome }} == "failure" ]; then
echo "Test Pahe failed"
failed=true
fi
if [ ${{ steps.test_gogo_norm.outcome }} == "failure" ]; then
echo "Test Gogo Norm failed"
failed=true
fi
if [ ${{ steps.test_gogo_hls.outcome }} == "failure" ]; then
echo "Test Gogo HLS failed"
failed=true
fi
if [ $failed = true ]; then
exit 1
fi
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,5 @@ dist/

crap.py
.todo
NOTE
scripts/changelog.md
74 changes: 44 additions & 30 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,44 +24,56 @@ A blazingly fast desktop app for batch downloading anime and auto-downloading ne

## Installation

- **Cross-platform (Linux, Mac, Windows 10/11)**
- **Windows 10/11**

Needs [Python 3.11](https://www.python.org/downloads/release/python-3111) installed.
Download [the setup](https://github.com/SenZmaKi/Senpwai/releases/latest/download/Senpwai-setup.exe) then run it. (Recommended)

- **Cross-platform (Linux, Mac, Windows 10/11)**

Needs [Python 3.11+](https://www.python.org/downloads/release/python-3111) installed.

```bash
pip install senpwai
```

- **Windows 10/11**

Download [the setup](https://github.com/SenZmaKi/Senpwai/releases/latest/download/Senpwai-setup.exe) then run it.

- **Android**
- **Android**

Check [Senpcli](https://github.com/SenZmaKi/Senpwai/blob/master/docs/senpcli-guide.md)

- **Other**
- **Other**

[Build from source](#building-from-source).

## Features

- Download any anime from [Animepahe](https://animepahe.ru) or [Gogoanime](https://anitaku.so).
- Keep track of an anime and automatically download new episodes when they release.
- Download a complete season or episodes within a range (e.g., 69-420).
- Choose between video qualities: 360p, 480p (Gogoanime only), 720p, or 1080p.
- Download in sub or dub (if available) depending on the user's preference.
- Automatically detects episodes you already have and avoids re-downloading them.
- Robust and graceful download error management.
- GUI and [CLI](https://github.com/SenZmaKi/Senpwai/blob/master/docs/senpcli-guide.md).
- Download any anime from [Animepahe](https://animepahe.ru) or [Gogoanime](https://anitaku.so).
- Keep track of an anime and automatically download new episodes when they release.
- Download a complete season or episodes within a range (e.g., 69-420).
- Choose between video qualities: 360p, 480p (Gogoanime only), 720p, or 1080p.
- Download in sub or dub (if available) depending on the user's preference.
- Automatically detects episodes you already have and avoids re-downloading them.
- Robust and graceful download error management.
- GUI and [CLI](https://github.com/SenZmaKi/Senpwai/blob/master/docs/senpcli-guide.md).

## CLI

[Senpcli](https://github.com/SenZmaKi/Senpwai/blob/master/docs/senpcli-guide.md) is a minimalist and lightweight CLI alternative for Senpwai. Senpwai is already efficient and lightweight, Senpcli basically strips off the GUI while maintaining most of the basic functionality.
[Senpcli](https://github.com/SenZmaKi/Senpwai/blob/master/docs/senpcli-guide.md) is a CLI alternative for Senpwai. Senpwai is already efficient and lightweight, Senpcli basically strips off the GUI while maintaining most of the basic functionality.

## Support

- You can support the development of Senpwai through donations on [GitHub Sponsors](https://github.com/sponsors/SenZmaKi) or [Patreon](https://patreon.com/Senpwai).
- You can also leave a star on the github for more weebs to know about it.
- Senpwai is open to pull requests, so if you have ideas for improvements, feel free to contribute!

## Sponsors

<p>
<a href="https://github.com/Adam1400"><img src="https://github.com/Adam1400.png" width="80px" alt="Adam1400"/></a>&nbsp;&nbsp;<a href="https://github.com/KeithBoehler"><img src="https://github.com/KeithBoehler.png" width="80px" alt="KeithBoehler" /></a>
</p>

## Building from Source

Ensure you have [Python 3.11](https://www.python.org/downloads/release/python-3111) and [Git](https://github.com/git-guides/install-git) installed.
Ensure you have [Python 3.11](https://www.python.org/downloads/release/python-3119) (3.11 specifically!!!) and [Git](https://github.com/git-guides/install-git) installed.

Open a terminal and run the following commands.

Expand All @@ -77,25 +89,27 @@ git clone https://github.com/SenZmaKi/Senpwai --depth 1 && cd Senpwai && pip ins
poetry run poe build_senpwai_exe
```

- The executable will be built in `Senpwai\build\Senpwai`
- The executable will be built in `Senpwai\build\Senpwai`

3. **Alternatively you can instead run the app directly via Python.**

- Activate virtual environment

```
poetry run senpwai
poetry shell
```

## Support
- Run the app

- You can support the development of Senpwai through donations on [GitHub Sponsors](https://github.com/sponsors/SenZmaKi) or [Patreon](https://patreon.com/Senpwai).
- You can also leave a star on the github for more weebs to know about it.
- Senpwai is open to pull requests, so if you have ideas for improvements, feel free to contribute!
```
python -m senpwai
```

## Sponsors
- Both steps at once, but it is slower since it activates the virtual environment every time

<p>
<a href="https://github.com/Adam1400"><img src="https://github.com/Adam1400.png" width="80px" alt="Adam1400"/></a>&nbsp;&nbsp;<a href="https://github.com/KeithBoehler"><img src="https://github.com/KeithBoehler.png" width="80px" alt="KeithBoehler" /></a>
</p>
```
poetry run senpwai
```

## FAQ

Expand All @@ -109,8 +123,8 @@ you have to click billions of links just to download one episode, so I made Senp
HLS mode attempts to fix the unstability of Gogoanime normal mode.
In HLS mode Gogoanime downloads are guaranteed to work, though with a few downsides:

- Requires [FFmpeg](https://www.hostinger.com/tutorials/how-to-install-ffmpeg) to be installed, though Senpwai can attempt to automatically install it for you.
- No download size indication but Senpwai will estimate the total download size after the first download.
- Requires [FFmpeg](https://www.hostinger.com/tutorials/how-to-install-ffmpeg) to be installed, though Senpwai can attempt to automatically install it for you.
- No download size indication but Senpwai will estimate the total download size after the first download.

</details>

Expand Down
3 changes: 0 additions & 3 deletions RELEASE_NOTES.md

This file was deleted.

11 changes: 11 additions & 0 deletions docs/release-notes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# New features

- Add tips in about section
- senpcli: Stylize output 💅✨

# Bug fixes

- Maybe fix randomly skipped downloads, if it still happens report it
- pahe: Fix infinite loading for some anime. Issue #43
- senpcli: Sort of fix Ctrl+C not terminating program, it still bugs out sometimes though
- Fix some linux port issues
60 changes: 37 additions & 23 deletions docs/senpcli-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,11 @@ The CLI alternative for Senpwai.

## Installation

- **Cross-platform (Linux, Mac, Windows 10/11)**
- **Windows 10/11**

You can install Senpcli as a completely separate package by downloading and running [the setup](https://github.com/SenZmaKi/Senpwai/releases/latest/download/Senpcli-setup.exe).

- **Cross-platform (Linux, Mac, Windows 10/11)**

Needs [Python 3.11](https://www.python.org/downloads/release/python-3111) installed.

Expand All @@ -14,17 +18,13 @@ Senpwai ships with the Senpcli pre-installed.
pip install senpwai
```

- **Windows 10/11**

You can install Senpcli as a completely separate package by downloading and running [the setup](https://github.com/SenZmaKi/Senpwai/releases/latest/download/Senpcli-setup.exe).

- **Android (Using [termux](https://github.com/termux/termux-app))**
- **Android (Using [termux](https://github.com/termux/termux-app))**

```sh
pkg update -y && curl https://raw.githubusercontent.com/SenZmaKi/Senpwai/master/termux/install.sh | bash
```

- **Other**
- **Other**

[Build from source](#building-from-source).

Expand All @@ -36,23 +36,23 @@ senpcli [-h] [-v] [-sd {sub,dub}] [-s {pahe,gogo}] [-se START_EPISODE] [-ee END_

### Positional Arguments

- `title`: Title of the anime to download
- `title`: Title of the anime to download

### Options

- `-h, --help`: Show help message and exit
- `-v, --version`: Show program's version number and exit
- `-c, --config` Show config file contents and location
- `-u, --update` Check for updates
- `-s {pahe,gogo}, --site {pahe,gogo}`: Site to download from
- `-se START_EPISODE, --start_episode START_EPISODE`: Episode to start downloading at
- `-ee END_EPISODE, --end_episode END_EPISODE`: Episode to stop downloading at
- `-q {1080p,720p,480p,360p}, --quality {1080p,720p,480p,360p}`: Quality to download the anime in
- `-sd {sub,dub}, --sub_or_dub {sub,dub}`: Whether to download the subbed or dubbed version of the anime
- `-hls, --hls`: Use HLS mode to download the anime (Gogo only and requires FFmpeg to be installed)
- `-sc, --skip_calculating`: Skip calculating the total download size (Gogo only)
- `-of, --open_folder`: Open the folder containing the downloaded anime once the download finishes
- `-msd MAX_SIMULTANEOUS_DOWNLOADS, --max_simultaneous_downloads MAX_SIMULTANEOUS_DOWNLOADS`: Maximum number of simultaneous downloads
- `-h, --help`: Show help message and exit
- `-v, --version`: Show program's version number and exit
- `-c, --config` Show config file contents and location
- `-u, --update` Check for updates
- `-s {pahe,gogo}, --site {pahe,gogo}`: Site to download from
- `-se START_EPISODE, --start_episode START_EPISODE`: Episode to start downloading at
- `-ee END_EPISODE, --end_episode END_EPISODE`: Episode to stop downloading at
- `-q {1080p,720p,480p,360p}, --quality {1080p,720p,480p,360p}`: Quality to download the anime in
- `-sd {sub,dub}, --sub_or_dub {sub,dub}`: Whether to download the subbed or dubbed version of the anime
- `-hls, --hls`: Use HLS mode to download the anime (Gogo only and requires FFmpeg to be installed)
- `-sc, --skip_calculating`: Skip calculating the total download size (Gogo only)
- `-of, --open_folder`: Open the folder containing the downloaded anime once the download finishes
- `-msd MAX_SIMULTANEOUS_DOWNLOADS, --max_simultaneous_downloads MAX_SIMULTANEOUS_DOWNLOADS`: Maximum number of simultaneous downloads

### Settings

Expand Down Expand Up @@ -80,9 +80,23 @@ git clone https://github.com/SenZmaKi/Senpwai --depth 1 && cd Senpwai && pip ins
poetry run poe build_senpcli_exe
```

- The executable will be built in `Senpwai\build\Senpcli`
- The executable will be built in `Senpwai\build\Senpcli`

3. **Alternatively you can instead run the tool directly via Python.**

- Activate virtual environment

```
poetry shell
```

- Run the tool

```
python -m senpcli --help
```

3. **Alternatively you can run the tool directly via Python.**
- Both steps at once, but it is slower since it activates the virtual environment every time

```
poetry run senpcli --help
Expand Down
Loading

0 comments on commit 839d5e6

Please sign in to comment.