Commit Graph

76 Commits

Author SHA1 Message Date
^_^
ece2d95845 refactor: move output-related modules to output folder
- Move pdf_converter.py to output/
- Move epub_metadata.py and epub_metadata_writers.py to output/metadata/
- Update imports in __main__.py
2026-01-15 11:09:56 +01:00
^_^
533536ec43 fix: detect PDF-in-epub by content instead of API format type 2026-01-15 11:09:56 +01:00
^_^
cf2bb5d7c4 chore: bump version to 0.2.2 2026-01-15 11:09:56 +01:00
^_^
6199e02b9b feat: fix Nextory series null handling and add PDF book support
- Fix _extract_series_name to handle null series values
- Add PDF book support for Nextory (served via epub endpoint)
- Convert PDF-in-epub to merged PDF after download
- Add pypdf dependency for PDF merging
- Add Pdf output format (unused but available)
- Update metadata transformer to handle both epub and pdf formats
2026-01-15 11:09:56 +01:00
^_^
08af04ab32 feat: migrate to bbpb and platformdirs, add dependency version constraints
- Migrate from blackboxprotobuf to bbpb (new PyPI package name)
  - Update pyproject.toml and shell.nix dependencies
  - Import name remains 'blackboxprotobuf' (no code changes)
- Migrate from appdirs to platformdirs
  - Replace deprecated appdirs with actively maintained platformdirs
  - Update grawlix/config.py to use platformdirs.user_config_dir
  - Update dependency declarations in pyproject.toml and shell.nix
- Add minimum version constraints for all dependencies
  - Set requires-python = ">=3.9" (required by httpx and importlib.resources.files())
  - Add Python version classifiers (3.9-3.13)
  - Specify minimum versions: beautifulsoup4>=4.9.0, bbpb>=1.0.0,
    EbookLib>=0.17, httpx>=0.23.0, importlib-resources>=5.0,
    lxml>=4.6.0, platformdirs>=3.0.0, pycryptodome>=3.10.0, rich>=10.0.0
  - Make tomli conditional: only required for Python < 3.11
- Update shell.nix with correct SHA256 hash for bbpb 1.4.2
These changes ensure all dependencies meet minimum version requirements
for Python 3.9+ compatibility and replace deprecated packages with
actively maintained alternatives.
2026-01-15 11:09:56 +01:00
^_^
4efb963168 feat: add metadata writing support for Nextory and refactor source files
- Fix Nextory SSL certificate error (api.nextory.se -> api.nextory.com)
- Add missing X-OS-INFO header for Nextory API compatibility
- Implement full metadata writing for Nextory (title, authors, translators, series, publisher, ISBN, language, description, release date)
- Remove debug JSON output from Nextory authentication
- Fix exit() call in epub.py that prevented metadata writing for EpubInParts

Refactoring improvements:
- Reorganize functions in nextory.py and storytel.py by execution flow
- Add section comments for better code organization (Authentication, Main download, Book path, Series path)
- Remove duplicate imports (OnlineFile in nextory.py, datetime in storytel.py)
- Remove duplicate header update in storytel.py
- Improve pagination logic in storytel.py with clearer variable names
- Optimize API calls in nextory.py (eliminate redundant call)
- Use list comprehensions for cleaner code

Documentation:
- Update README with Nextory metadata support
- Add supported sources comparison table for metadata fields
- Include Nextory configuration example
2026-01-15 11:09:56 +01:00
^_^
ea7ca71408 Added functionality to write metadata to epub. Only for Storytel for now. Can be triggered with parameter or set in config.
Added option to add output path to config file.
2026-01-15 11:09:56 +01:00
^_^
f5ee64cb6d Update README with correct paths for config file 2026-01-15 11:09:56 +01:00
Joakim Holm
3267398929 Update eReolen
Support the new system for eReolen where user access it through their
local libraries.

This new system makes the `--library` argument unnecessary and has
therefore also been removed.
2025-12-27 23:04:36 +01:00
Joakim Holm
7f4d4160ec Add nix flake 2025-12-27 14:12:18 +01:00
dksxse
12b7736bc0
Get nextory working (#23)
Co-authored-by: dksx <37441849+dksx@users.noreply.github.com>
2025-12-27 12:07:58 +00:00
Joakim Holm
32daf92106 Update Marvel Unlimited
Fixes issue #21
2024-10-30 17:57:26 +01:00
Joakim Holm
651f672e25 Remove unsupported chars from output paths in Windows
Fixes #18
2024-08-09 16:41:20 +02:00
Joakim Holm
f7009f5dd0 Fix library argument retrieval 2024-07-12 23:08:50 +02:00
Joakim Holm
465abbecad Update Internet Archive metadata retrieval
Should fix issue 17
2024-05-10 22:28:28 +02:00
Joakim Holm
f154be5c25
Add storytel support (#13) 2024-04-02 15:18:45 +00:00
Joakim Holm
f9be630241
Merge pull request #11 from kianmeng/fix-typos
Fix typos
2024-01-28 19:10:42 +00:00
Kian-Meng Ang
35c3b39d4c Fix typos
Found via `typos --hidden --format brief`
2024-01-28 04:03:08 +08:00
Joakim Holm
64e04f5ff4 v0.2.0 2024-01-15 15:23:21 +01:00
Joakim Holm
b8df76cfbf Add DC Universe Infinte Source 2024-01-14 22:56:37 +01:00
Joakim Holm
373ab7c4fc Make Encryption an interface instead of an union 2024-01-09 14:44:22 +01:00
Joakim Holm
f4376402fd Add zero padding to cbz file names 2024-01-09 14:43:43 +01:00
Joakim Holm
ec2dace9bc
Merge pull request #10 from johankj/patch-1
Fix ereolen login after MitID option has been added
2024-01-02 22:43:09 +00:00
Johan K. Jensen
58c888e934
Fix ereolen login
After the addition of an option to login with MitID, the name of the library username field has changed.
2024-01-02 23:39:41 +01:00
Joakim Holm
8016a29e7e Make authentication function simpler 2023-07-02 21:20:07 +02:00
Joakim Holm
961789d316 Merge 2023-06-27 20:34:07 +02:00
Joakim Holm
40de5bf479 Add traceback in on exception in debug mode 2023-06-27 20:33:14 +02:00
Joakim Holm
ef18a5a942 Add more metadata to comics 2023-06-16 16:30:00 +02:00
Joakim Holm
321911527e Merge 2023-06-12 22:37:59 +02:00
Joakim Holm
9e876a0cf6 Add basic support for Nextory 2023-06-12 22:36:54 +02:00
Joakim Holm
28c594d445 Add support for Norwegian and Swedish Flipp 2023-06-08 03:11:32 +02:00
Joakim Holm
143c2b4c61 Fix debug argument
It simply didn't work
2023-06-06 23:47:47 +02:00
Joakim Holm
f21c56873d Update README with new installation instructions 2023-06-05 23:42:22 +02:00
Joakim Holm
be0aa9eec0 Add fanfiction.net source 2023-06-02 20:02:07 +02:00
Joakim Holm
dade9db6da Make onlinefiles support cookies 2023-06-01 22:32:04 +02:00
Joakim Holm
2faa4b747b Make sure error happens if no cookie file is found 2023-05-31 19:41:47 +02:00
Joakim Holm
f90cb13bfc Update README with authentication methods 2023-05-24 20:52:11 +02:00
Joakim Holm
be704667fe Merge branch 'master' of github.com:jo1gi/grawlix 2023-05-22 11:02:11 +02:00
Joakim Holm
d46a4fe88b Fix authentication when not supporting cookies 2023-05-22 11:02:05 +02:00
Joakim Holm
4da73a73e1 Merge branch 'logging' 2023-05-18 22:55:39 +02:00
Joakim Holm
76a6d7b0da Improve logging 2023-05-18 22:55:32 +02:00
Joakim Holm
c53ec27dc8 Merge branch 'master' of github.com:jo1gi/grawlix 2023-05-14 21:48:57 +02:00
Joakim Holm
f064dfa9a6 Merge branch 'marvel' 2023-05-14 17:40:03 +02:00
Joakim Holm
ada2005c2e Add support for marvel unlimited 2023-05-14 17:35:25 +02:00
Joakim Holm
84dce7c616 Fix pyproject.toml 2023-05-10 10:22:48 +02:00
Joakim Holm
4c32ac847f Merge branch 'master' of github.com:jo1gi/grawlix 2023-05-08 12:46:31 +02:00
Joakim Holm
f9919fc48b Fix script 2023-05-08 12:46:21 +02:00
Joakim Holm
f91a32b0ab Restructure output system
Formats can now be loaded based on book data format and file extension
of the output file. Will also try to use the extension of the output
location instead of using the default filetype every time.
2023-05-05 12:05:52 +02:00
Joakim Holm
c2545b871f Small changes
- Fix config to load source configuration correctly
- Add a newline in readme to be more readable
2023-05-05 12:04:59 +02:00
Joakim Holm
5bd8beb6e8 Merge branch 'master' of github.com:jo1gi/grawlix 2023-05-04 21:31:11 +02:00