Commit message (Collapse) | Author | Age | Lines | |
---|---|---|---|---|
* | backend/lint: Do not shadow certain builtins | Wolfgang Müller | 3 days | -56/+60 |
| | | | | | | | | | | | | This commit enables ruff's flake8-builtin linter that emits warnings when builtin functions are shadowed. This is useful for builtins like "dict", "list", or "str" which we use often. Given the nature of this program we historically rely a lot on the usage of "id", "hash", and "filter" as variable names which also shadow Python builtins. For now let's ignore those, we have not used any of them in our code and the impact to the codebase would be considerable. This might be revisited in the future. | |||
* | backend/api: Remove superfluous scalar definition | Wolfgang Müller | 3 days | -5/+0 |
| | | | | | Sadly we couldn't find out what this was meant to do, but we believe it was added in error. All tests pass with this removed, so we can drop it. | |||
* | backend/plugins: Have E-Hentai raise an error from status_code early | Wolfgang Müller | 3 days | -19/+19 |
| | | | | This makes the code clearer and saves a whole indentation level. | |||
* | backend/plugins: Catch E-Hentai errors only for relevant lines | Wolfgang Müller | 3 days | -11/+11 |
| | ||||
* | backend/plugins: Throw error if E-Hentai response is missing 'gmetadata' | Wolfgang Müller | 3 days | -0/+18 |
| | | | | | | | It might be that we get a valid (maybe empty) response from the API, in which case we do not want to simply crash because we expect the 'gmetadata' field in the response. Instead, throw a proper ScrapeError for it. | |||
* | backend/tests: Add tests for the E-Hentai API | Wolfgang Müller | 3 days | -1/+159 |
| | ||||
* | backend/plugins: Remove stray apostrophe | Wolfgang Müller | 3 days | -1/+1 |
| | ||||
* | backend/tests: Add tests for the anchira scraper | Wolfgang Müller | 3 days | -0/+107 |
| | ||||
* | backend/tests: Remove unneeded parameter in test_gallery_dl | Wolfgang Müller | 3 days | -1/+1 |
| | ||||
* | backend/plugins: Have exhentai assume no censorship for non-h | Wolfgang Müller | 3 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 utils | Wolfgang Müller | 4 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 scrapers | Wolfgang Müller | 4 days | -1/+647 |
| | ||||
* | backend/scraper: Have collect() ignore None results | Wolfgang Müller | 4 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_file | Wolfgang Müller | 4 days | -2/+41 |
| | ||||
* | backend/plugins: Use "no cover" pragma for consistency | Wolfgang Müller | 4 days | -1/+1 |
| | ||||
* | backend/plugins: Fix MangaDex scraper title formatting | Wolfgang Müller | 4 days | -1/+1 |
| | ||||
* | backend/scraper: Add parser methods for Language | Wolfgang Müller | 4 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 target | Wolfgang Müller | 4 days | -1/+1 |
| | | | | | Otherwise make will refuse to regenerate coverage information if the coverage/ directory already exists. | |||
* | build/deps: Remove black as a development dependency | Wolfgang Müller | 4 days | -85/+2 |
| | | | | We can do formatting now with ruff(1). | |||
* | backend/lint: Format overlong line | Wolfgang Müller | 4 days | -1/+3 |
| | ||||
* | build/deps: Update sphinx to 8.1.3 and sphinx-issues to 5.0.0 | Wolfgang Müller | 4 days | -23/+23 |
| | ||||
* | build: Remove obsolete pytest ignore in Makefile | Wolfgang Müller | 4 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.1 | Wolfgang Müller | 4 days | -7/+6 |
| | ||||
* | build/deps: Update uvicorn to 0.32.0 | Wolfgang Müller | 4 days | -5/+5 |
| | ||||
* | build/deps: Update starlette to 0.41.2 | Wolfgang Müller | 4 days | -5/+5 |
| | ||||
* | build/deps: Update pytest-cov to 6.0.0 | Wolfgang Müller | 4 days | -7/+7 |
| | ||||
* | backend/lint: Ignore B027 in api/inputs.py | Wolfgang Müller | 4 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 exceptions | Wolfgang Müller | 4 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 utils | Wolfgang Müller | 4 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 B007 | Wolfgang Müller | 4 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 defaults | Wolfgang Müller | 4 days | -3/+12 |
| | | | | See https://docs.astral.sh/ruff/rules/mutable-argument-default/ | |||
* | backend/lint: Implement pyupgrade suggestions | Wolfgang Müller | 4 days | -1/+1 |
| | ||||
* | backend/lint: Implement flake8-simplify suggestions | Wolfgang Müller | 4 days | -32/+29 |
| | ||||
* | backend/lint: Ignore SIM102 and SIM108 | Wolfgang Müller | 4 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 correctly | Wolfgang Müller | 4 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 linters | Wolfgang Müller | 4 days | -2/+12 |
| | | | | These should come in handy in the general case, especially bugbear. | |||
* | backend/lint: Fix import formatting | Wolfgang Müller | 4 days | -17/+37 |
| | ||||
* | build/deps: Update ruff to 0.7.3 | Wolfgang Müller | 4 days | -21/+21 |
| | ||||
* | build/deps: Update pillow to 11.0.0 | Wolfgang Müller | 4 days | -85/+80 |
| | ||||
* | build/deps: Update python dependencies | Wolfgang Müller | 4 days | -711/+784 |
| | ||||
* | build/deps: Lock dependencies at latest versions | Wolfgang Müller | 4 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.6 | Wolfgang Müller | 4 days | -2/+2 |
| | ||||
* | build/deps: Update prettier-plugin-tailwindcss to 0.6.8 | Wolfgang Müller | 4 days | -5/+9 |
| | ||||
* | build/deps: Update date-fns to 4.1.0 | Wolfgang Müller | 4 days | -5/+5 |
| | ||||
* | build/deps: Update npm-check-updates to 17.1.11 | Wolfgang Müller | 4 days | -3440/+23 |
| | ||||
* | build/deps: Update eslint | Wolfgang Müller | 4 days | -266/+362 |
| | ||||
* | build/deps: Update JS dependencies | Wolfgang Müller | 4 days | -1480/+1102 |
| | ||||
* | release: Version 0.2.00.2.0 | Wolfgang Müller | 2024-07-22 | -6/+20 |
| | ||||
* | docs: Use sphinx_issues to link to commits | Wolfgang Müller | 2024-07-22 | -3/+26 |
| | ||||
* | frontend/reader: Allow switching to first or last page | Wolfgang Müller | 2024-07-22 | -1/+7 |
| |