summaryrefslogtreecommitdiffstatshomepage
Commit message (Collapse)AuthorAgeLines
* backend/tests: Add tests for the E-Hentai APIWolfgang Müller3 days-1/+159
|
* backend/plugins: Remove stray apostropheWolfgang Müller3 days-1/+1
|
* backend/tests: Add tests for the anchira scraperWolfgang Müller3 days-0/+107
|
* backend/tests: Remove unneeded parameter in test_gallery_dlWolfgang Müller3 days-1/+1
|
* backend/plugins: Have exhentai assume no censorship for non-hWolfgang Müller4 days-2/+8
| | | | | | Non-H usually has nothing to censor, so this should be a safe default. We have not come across anything where this would have been a false positive.
* backend/plugins: Use language parser from scraper utilsWolfgang Müller4 days-32/+5
| | | | | | Now that we have this in our utility suite, we can make use of it in the built-in scraper plugins. This increases coverage and removes a lot of duplicate code.
* backend/tests: Add tests for gallery_dl scrapersWolfgang Müller4 days-1/+647
|
* backend/scraper: Have collect() ignore None resultsWolfgang Müller4 days-3/+21
| | | | | | If a parser function returned None we yield it regardless, even though it won't have any impact further down the line. Instead clean up the collect() stream as early as possible.
* backend/tests: Add test for open_archive_fileWolfgang Müller4 days-2/+41
|
* backend/plugins: Use "no cover" pragma for consistencyWolfgang Müller4 days-1/+1
|
* backend/plugins: Fix MangaDex scraper title formattingWolfgang Müller4 days-1/+1
|
* backend/scraper: Add parser methods for LanguageWolfgang Müller4 days-0/+65
| | | | | | We can expect a number of scraper sources to either give languages as ISO 639-3 or as their English name, so it makes sense to implement a simple parser method on our side.
* build: Mark coverage as PHONY targetWolfgang Müller4 days-1/+1
| | | | | Otherwise make will refuse to regenerate coverage information if the coverage/ directory already exists.
* build/deps: Remove black as a development dependencyWolfgang Müller4 days-85/+2
| | | | We can do formatting now with ruff(1).
* backend/lint: Format overlong lineWolfgang Müller4 days-1/+3
|
* build/deps: Update sphinx to 8.1.3 and sphinx-issues to 5.0.0Wolfgang Müller4 days-23/+23
|
* build: Remove obsolete pytest ignore in MakefileWolfgang Müller4 days-1/+1
| | | | | The DeprecationWarnings we ignored here were not caused by our own code. It seems whatever upstream project was affected has since been fixed.
* build/deps: Update strawberry-graphql to 0.248.1Wolfgang Müller4 days-7/+6
|
* build/deps: Update uvicorn to 0.32.0Wolfgang Müller4 days-5/+5
|
* build/deps: Update starlette to 0.41.2Wolfgang Müller4 days-5/+5
|
* build/deps: Update pytest-cov to 6.0.0Wolfgang Müller4 days-7/+7
|
* backend/lint: Ignore B027 in api/inputs.pyWolfgang Müller4 days-1/+1
| | | | | | | Even though our base class here is abstract, this method is not, so we can ignore B027 [1]. [1] https://docs.astral.sh/ruff/rules/empty-method-without-abstract-decorator/
* backend/lint: Properly chain exceptionsWolfgang Müller4 days-6/+6
| | | | | | This fixes flake8-bugbear's B904 [1]. [1] https://docs.astral.sh/ruff/rules/raise-without-from-inside-except/
* backend/plugins: Have anchira scraper use parse_dict from scraper utilsWolfgang Müller4 days-11/+2
| | | | | | This cuts down on code duplication and also fixes B023 [1]. [1] https://docs.astral.sh/ruff/rules/function-uses-loop-variable/#function-uses-loop-variable-b023
* backend/lint: Ignore B007Wolfgang Müller4 days-1/+1
| | | | | | | | B007 is "unused-loop-control-variable", which is only enabled by default because an unused variable in a loop statement "can confuse readers". The only couple of places that happens in this codebase is when unpacking os.walk, which really shouldn't be a problem.
* backend/lint: Stop using mutable objects as function argument defaultsWolfgang Müller4 days-3/+12
| | | | See https://docs.astral.sh/ruff/rules/mutable-argument-default/
* backend/lint: Implement pyupgrade suggestionsWolfgang Müller4 days-1/+1
|
* backend/lint: Implement flake8-simplify suggestionsWolfgang Müller4 days-32/+29
|
* backend/lint: Ignore SIM102 and SIM108Wolfgang Müller4 days-0/+2
| | | | | | | | | | | SIM102 is "collapsible-if", which we always follow except a few specific cases where we believe nested ifs are easier to read. Since we'd have to manually ignore all those instances, disable the whole rule instead. SIM108 is "if-else-block-instead-of-if-exp" which suggests the use of the ternary operator instead of an if/else block. We generally dislike how the ternary operator is less readable than a simple if/else block, so we disable this rule.
* backend/scraper: Bind loop variables correctlyWolfgang Müller4 days-2/+2
| | | | | This was uncovered by bugbear, but did not seem to have tripped our test. Fix it anyway.
* backend/lint: Add some more useful lintersWolfgang Müller4 days-2/+12
| | | | These should come in handy in the general case, especially bugbear.
* backend/lint: Fix import formattingWolfgang Müller4 days-17/+37
|
* build/deps: Update ruff to 0.7.3Wolfgang Müller4 days-21/+21
|
* build/deps: Update pillow to 11.0.0Wolfgang Müller4 days-85/+80
|
* build/deps: Update python dependenciesWolfgang Müller4 days-711/+784
|
* build/deps: Lock dependencies at latest versionsWolfgang Müller4 days-42/+42
| | | | | This does not include the update to Svelte 5 which will be made separately in the future.
* build/deps: Update selve-toast to 0.9.6Wolfgang Müller4 days-2/+2
|
* build/deps: Update prettier-plugin-tailwindcss to 0.6.8Wolfgang Müller4 days-5/+9
|
* build/deps: Update date-fns to 4.1.0Wolfgang Müller4 days-5/+5
|
* build/deps: Update npm-check-updates to 17.1.11Wolfgang Müller4 days-3440/+23
|
* build/deps: Update eslintWolfgang Müller4 days-266/+362
|
* build/deps: Update JS dependenciesWolfgang Müller4 days-1480/+1102
|
* release: Version 0.2.00.2.0Wolfgang Müller2024-07-22-6/+20
|
* docs: Use sphinx_issues to link to commitsWolfgang Müller2024-07-22-3/+26
|
* frontend/reader: Allow switching to first or last pageWolfgang Müller2024-07-22-1/+7
|
* frontend/reader: Add simple page indicatorWolfgang Müller2024-07-22-0/+13
|
* build/deps: Update JS dependenciesWolfgang Müller2024-07-22-300/+306
|
* build/deps: Update Python dependenciesWolfgang Müller2024-07-22-49/+49
|
* frontend/reader: Preload the next set of imagesWolfgang Müller2024-07-22-0/+22
|
* frontend/reader: Show loading indicatorsWolfgang Müller2024-07-22-5/+35
| | | | | | Sometimes images may not load fast enough, resulting in the app being seemingly stuck displaying the same sets of images. Use a timeout to detect when images take too long to load and show a spinner instead.