Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
89 commits
Select commit Hold shift + click to select a range
3143bef
Rewrite and Update
l0westbob Mar 7, 2025
a284b1f
set default secret
l0westbob Mar 7, 2025
4fe336a
remove custom stuff
l0westbob Mar 7, 2025
a8ff207
Improve filename and add format parameter for pdf export
l0westbob Mar 8, 2025
1cb1300
Adds metadata option
l0westbob Mar 11, 2025
b71414e
Adds filecheck before processing
l0westbob Mar 11, 2025
a09607b
Adjusts export_path escaping
Mar 11, 2025
142a8d7
Adjusts expected filename
Mar 11, 2025
7226811
Adjusts filename sanitation
Mar 11, 2025
111d4dd
Catches encode/decode errors for filenames
Mar 11, 2025
c31987b
Adjusts meta data key with prepare_filename
Mar 12, 2025
5bb6672
Fix metadata json folder name
l0westbob Mar 16, 2025
067c32b
feat: adds tests and pytest execution on push/pr
l0westbob Feb 13, 2026
571e0d0
feat: upgrade
l0westbob Feb 13, 2026
e669d1f
feat: adds full test coverage/doc strings. removes legacy support
l0westbob Feb 13, 2026
40a445d
feat: hardening the code against failures
l0westbob Feb 13, 2026
678de3e
feat: adds real payload mocking tests
l0westbob Feb 13, 2026
3682659
feat: enforces python 3.14 and adds response shift test
l0westbob Feb 13, 2026
fd82ac0
doc: adds doc string about current secret key
l0westbob Feb 13, 2026
2e26e29
doc: adds pytest coverage
l0westbob Feb 13, 2026
944eae0
feat: Adds docker-image/compose and download all functionality
l0westbob Feb 24, 2026
b2d1f02
fix: Updates compose command
l0westbob Feb 24, 2026
bc1e8d6
feat: Adds language option for download all
l0westbob Feb 24, 2026
335731c
feat: Adds comicinfo xml for cbz
l0westbob Feb 24, 2026
7bfa119
feat: Updates compose command to download all english
l0westbob Feb 24, 2026
d0b0212
fix: Adds missing logging for download-all
l0westbob Feb 24, 2026
a303d78
refactor: Improves/Updates codebase
l0westbob Feb 24, 2026
7450c13
refactor: Improves documentations
l0westbob Feb 25, 2026
b28b4eb
refactor: Improves downloader and docs
l0westbob Feb 25, 2026
63eb78b
refactor: Updates docker image and fixes linting
l0westbob Feb 25, 2026
8df1821
refactor: Changes compose service to cronjob based full download
l0westbob Feb 25, 2026
25dd342
fix: Removes release please
l0westbob Feb 25, 2026
003ef1d
feat: Increase version
l0westbob Feb 25, 2026
730e23d
feat: Adds chapter number back and lets chapter id exist in parallel
l0westbob Feb 25, 2026
240b9bb
fix: Fixes missing test coverage
l0westbob Feb 25, 2026
bebb033
doc: Updates readme
l0westbob Feb 25, 2026
95c7ddf
doc: Updates readme and fixes cases with invalid responses
l0westbob Feb 27, 2026
12e3cf4
Merge branch 'dev'
l0westbob Feb 27, 2026
5acb5b6
doc: Fixes merge conflicts in readme
l0westbob Feb 27, 2026
e8d3ea4
doc: Fixes readme and tests using wrong chapter id
l0westbob Feb 27, 2026
a9077d3
feat: Adds verify scripts for all mloader command examples
l0westbob Feb 27, 2026
a4891b1
chore: runs readme sync command
l0westbob Feb 27, 2026
bf0f67d
feat: Adds OS env safeguard for unsupported values
l0westbob Feb 28, 2026
8b065de
Merge pull request #3 from l0westbob/dev
l0westbob Feb 28, 2026
98b4fd3
feat: Adds pypi package publishing
l0westbob Mar 9, 2026
6751f89
feat: Adds cover download parameter
l0westbob Mar 9, 2026
703dbaa
Merge pull request #6 from l0westbob/issue/cover-download
l0westbob Mar 9, 2026
733da68
Merge pull request #5 from l0westbob/dev
l0westbob Mar 9, 2026
d45b075
fix: Switches cover download to primary cover instead of portrait
l0westbob Mar 9, 2026
a37079b
Merge pull request #7 from l0westbob/fix/cover-selection
l0westbob Mar 9, 2026
3252cbe
rename distribution to mloader-ng
l0westbob Mar 9, 2026
3ba9217
Merge pull request #8 from l0westbob/fix/pypi-publish
l0westbob Mar 9, 2026
98a0158
chore: Switches to uv and ty and fixes zero img bug
l0westbob Mar 31, 2026
3745c6e
fix: Fixes mloader path in docker image
l0westbob Mar 31, 2026
45c90a8
chore: Updates version across files
l0westbob Mar 31, 2026
a15be1d
fix: Updates uv.lock after version change
l0westbob Mar 31, 2026
8ed654c
Merge pull request #10 from l0westbob/chore/update-tooling
l0westbob Apr 10, 2026
acdb8db
stability hardening
l0westbob May 11, 2026
c356207
fix missing testcoverage
l0westbob May 11, 2026
1975c6a
Fix Manga Plus mobile API compatibility
l0westbob May 27, 2026
9525a44
feat: Add backward-compatible cover format support
l0westbob May 27, 2026
c22ee8f
chore: Best practice repository cleanup
l0westbob May 27, 2026
7db92cb
Merge pull request #13 from l0westbob/dev
l0westbob May 28, 2026
7d64a55
Merge branch 'main' into dev
l0westbob May 28, 2026
ac71174
chore: Bumps version
l0westbob May 28, 2026
15ab9e4
chore: Updates github workflows
l0westbob May 28, 2026
d8503ac
chore: Updates github workflows with correct version
l0westbob May 28, 2026
4f9da4b
Merge pull request #14 from l0westbob/dev
l0westbob May 28, 2026
d647ae9
feat: Adds docker image built and push
l0westbob May 28, 2026
a160d14
Merge pull request #15 from l0westbob/dev
l0westbob May 28, 2026
3c2a830
feat: Switches docker driver
l0westbob May 28, 2026
8c0360e
Merge pull request #16 from l0westbob/dev
l0westbob May 28, 2026
788786b
chore: Prepare v2.1.1 release
l0westbob May 28, 2026
438c18b
Merge pull request #17 from l0westbob/dev
l0westbob May 28, 2026
784a513
feat: Moves docker section within readme
l0westbob May 28, 2026
dc4a365
docs: Updates docs
l0westbob May 28, 2026
94ef177
fix: Removes chapter directory from CBZ archives
l0westbob Jun 11, 2026
721c89c
feat: enrich CBZ ComicInfo metadata
l0westbob Jun 11, 2026
7bfa092
docs: describe CBZ ComicInfo metadata
l0westbob Jun 11, 2026
95a8113
style: format ComicInfo metadata changes
l0westbob Jun 11, 2026
829b80e
Merge pull request #20 from l0westbob/dev
l0westbob Jun 13, 2026
9390eae
test: add legacy/new filename rename coverage
l0westbob Jun 18, 2026
4b2b6e9
feat: support filename style migration for legacy downloads
l0westbob Jun 18, 2026
5191ed2
update uv.lock
l0westbob Jun 18, 2026
280aded
fix: reorder DownloadRunner constructor args
l0westbob Jun 18, 2026
0648ef8
Add legacy filename migration handling and docs sync
l0westbob Jun 18, 2026
0a5191f
Document full CI-equivalent pre-push quality gate
l0westbob Jun 18, 2026
a953d13
adds forgotten files
l0westbob Jun 18, 2026
d48166e
Merge pull request #22 from l0westbob/dev
l0westbob Jun 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added .coverage
Binary file not shown.
13 changes: 13 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
.git
.github
.idea
.mypy_cache
.pytest_cache
.ruff_cache
.venv
build
capture
captures
tests
*.egg-info
.coverage
58 changes: 58 additions & 0 deletions .github/workflows/docker-image.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: Publish Docker Image

on:
workflow_dispatch:
push:
branches:
- main
tags:
- "v*"

env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}

jobs:
publish:
name: Build and publish Docker image
runs-on: ubuntu-latest
permissions:
contents: read
packages: write

steps:
- name: Checkout
uses: actions/checkout@v6

- name: Login to GitHub Container Registry
uses: docker/login-action@v4.2.0
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v4.0.0

- name: Docker metadata
id: meta
uses: docker/metadata-action@v6.1.0
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
type=ref,event=branch
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=sha,prefix=sha-
type=raw,value=latest,enable={{is_default_branch}}

- name: Build and push
uses: docker/build-push-action@v7.2.0
with:
context: .
file: docker/Dockerfile
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max
32 changes: 32 additions & 0 deletions .github/workflows/publish-pypi.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Publish to PyPI

on:
workflow_dispatch:
push:
tags:
- "v*"

jobs:
publish:
name: Build and publish package
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write

steps:
- name: Checkout
uses: actions/checkout@v6

- name: Set up uv
uses: astral-sh/setup-uv@v8.1.0
with:
python-version: "3.14"
enable-cache: true
cache-suffix: publish-3.14

- name: Build distribution artifacts
run: uv build

- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
46 changes: 0 additions & 46 deletions .github/workflows/publish-to-pypi.yml

This file was deleted.

28 changes: 28 additions & 0 deletions .github/workflows/readme-examples.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Verify README Examples

on:
workflow_dispatch:
schedule:
- cron: "0 6 * * 1"

jobs:
verify-readme-examples:
name: Verify README example targets
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v6

- name: Set up uv
uses: astral-sh/setup-uv@v8.1.0
with:
python-version: "3.14"
enable-cache: true
cache-suffix: readme-examples-3.14

- name: Sync dependencies
run: uv sync --locked

- name: Verify README examples
run: uv run python scripts/verify_readme_examples.py
138 changes: 138 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
name: Tests

on:
push:
pull_request:

jobs:
ty:
name: Ty type check
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.14"]

steps:
- name: Checkout
uses: actions/checkout@v6

- name: Set up uv
uses: astral-sh/setup-uv@v8.1.0
with:
python-version: ${{ matrix.python-version }}
enable-cache: true
cache-suffix: ty-${{ matrix.python-version }}

- name: Sync dependencies
run: uv sync --locked

- name: Run ty
run: uv run ty check mloader scripts tests

ruff:
name: Ruff lint and format
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.14"]

steps:
- name: Checkout
uses: actions/checkout@v6

- name: Set up uv
uses: astral-sh/setup-uv@v8.1.0
with:
python-version: ${{ matrix.python-version }}
enable-cache: true
cache-suffix: ruff-${{ matrix.python-version }}

- name: Sync dependencies
run: uv sync --locked

- name: Run ruff check
run: uv run ruff check .

- name: Run ruff format
run: uv run ruff format --check .

pytest:
name: Run pytest with coverage
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.14"]

steps:
- name: Checkout
uses: actions/checkout@v6

- name: Set up uv
uses: astral-sh/setup-uv@v8.1.0
with:
python-version: ${{ matrix.python-version }}
enable-cache: true
cache-suffix: pytest-${{ matrix.python-version }}

- name: Sync dependencies
run: uv sync --locked

- name: Run tests
run: uv run pytest --cov=mloader --cov-report=term-missing --cov-fail-under=100

capture-verify:
name: Verify capture schema fixtures
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.14"]

steps:
- name: Checkout
uses: actions/checkout@v6

- name: Set up uv
uses: astral-sh/setup-uv@v8.1.0
with:
python-version: ${{ matrix.python-version }}
enable-cache: true
cache-suffix: capture-verify-${{ matrix.python-version }}

- name: Sync dependencies
run: uv sync --locked

- name: Verify baseline capture schema
run: |
uv run mloader --verify-capture-schema tests/fixtures/api_captures/baseline \
--verify-capture-baseline tests/fixtures/api_captures/baseline

docs-lint:
name: Docs lint (README option sync)
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.14"]

steps:
- name: Checkout
uses: actions/checkout@v6

- name: Set up uv
uses: astral-sh/setup-uv@v8.1.0
with:
python-version: ${{ matrix.python-version }}
enable-cache: true
cache-suffix: docs-lint-${{ matrix.python-version }}

- name: Sync dependencies
run: uv sync --locked

- name: Run docs lint tests
run: |
uv run python scripts/sync_readme_cli_reference.py --check
uv run pytest -q tests/test_readme_cli_options.py tests/test_cli_readme_reference.py
10 changes: 9 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,15 @@ log.txt
######################
extra/
venv/
.venv/
# [date]full_name(id) report folders
\[*\]*\(*\)/
*.egg-info
mloader_downloads/
mloader_downloads/
build
capture/
captures/
.uv-cache/
.ruff_cache/
!tests/fixtures/**/*.json
mloader/.env
1 change: 1 addition & 0 deletions .python-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3.14
Loading