Commit Graph

49 Commits

Author SHA1 Message Date
Ryszard Knop
9b019463b0 Remove the unnecessary debug file size prints (oops) 2024-11-08 22:03:51 +01:00
Ryszard Knop
0e088603f9 Bump version to 0.4.2 2024-11-08 22:01:33 +01:00
Ryszard Knop
71b1675332 Update dependencies 2024-11-08 22:01:33 +01:00
Ryszard Knop
06f75d4996 Guess the decompressed file size for downloaded Zip/Tar archives
For some archives, the Itch API returns the expected decompressed file
size, but serves compressed archives with its content. Iterate over Zip
and Tar archives to get the expected decompressed file size. In case
there's anything wrong with the archives, just quietly ignore these.

Fixes #21
2024-11-08 22:01:33 +01:00
Ryszard Knop
00c3f79dbb
Add a note re: issues with downloading paid games 2024-08-04 01:46:23 +02:00
Ryszard Knop
7519dd5df5 Document handled link formats properly 2024-04-17 19:40:39 +02:00
Ryszard Knop
67a09b47f0 Fix an invalid type hint on get_jobs_for_collection_json 2024-04-17 19:37:53 +02:00
Ryszard Knop
49f0c1efd7 Bump version to 0.4.1 2024-04-17 19:11:52 +02:00
Ryszard Knop
3f9810a482 Update lxml to 5.2.1, pydantic to 1.10.15 2024-04-17 19:11:13 +02:00
Ryszard Knop
e6b4428e22 Don't crash when trying to download restricted title pages
While we currently can't handle them properly, this at least lets full
library downloads proceed to the end.
2024-04-17 19:10:14 +02:00
Ryszard Knop
2a18cea131 Reformat the codebase with Ruff 2024-03-17 01:19:03 +01:00
Ryszard Knop
25ace8f358 Add Ruff linting configs, fix reported warnings 2024-03-17 01:15:04 +01:00
Ryszard Knop
d05bfe3164 Bump version to 0.4.0, update deps
- python-slugify was not used anymore, dropped
- pydantic held on 1.x, 2.x has a new binary dependency
- urllib3 held on 1.x, still gotta go through the changelog
- Everything else bumped to latest
2024-03-17 00:53:00 +01:00
Ryszard Knop
21d675f33f Report notes if available, regardless of success 2024-03-17 00:25:02 +01:00
Ryszard Knop
b6e9a60672 Bump lxml support to 4.9.4
Resolves an issue where the build crashes with newer compilers if lxml
is installed in the virtualenv directly, not from system repos.
2024-03-17 00:20:10 +01:00
mlewisa
1cffee8203 Update infobox.py
Fixes:

File "/usr/lib/python3.11/_strptime.py", line 352, in _strptime
    raise ValueError("unconverted data remains: %s" %
ValueError: unconverted data remains:  UTC
2024-03-16 14:28:17 +01:00
Jeremie J. Jarosh
6c7df3aac2 Log When Pulling Keys Out of the Cache 2023-09-19 00:44:01 +02:00
Jeremie J. Jarosh
269688afae Add Support for "Collections" 2023-09-19 00:44:01 +02:00
Jeremie J. Jarosh
6e7de8b5dc Add Support for https://itch.io/my-purchases 2023-09-19 00:44:01 +02:00
Ryszard Knop
4960fee953 Link to the PyPI package, along with a badge 2023-01-29 15:31:12 +01:00
Ryszard Knop
77f5f7cec6 Bump version to 0.3.3 2023-01-29 15:23:52 +01:00
Ryszard Knop
e61ef0cba3 Force use UTF-8 end-to-end for site downloading
Itch always uses UTF-8. This change prevents garbled output with
non-Latin scripts if requests or BS4 does not guess that correctly.
2023-01-29 15:22:24 +01:00
Ryszard Knop
fb2e4c6736 Bump version to 0.3.2 2022-11-01 16:34:55 +01:00
Ryszard Knop
779d5729c3 Add support for infobox "Code license" entries 2022-11-01 16:34:55 +01:00
Jack Wilsdon
49ad7a719c Open JSON files in binary mode
This avoids any encoding errors caused by JSON files containing
non-ASCII characters (e.g. emojis).
2022-06-19 16:22:59 +02:00
Ryszard Knop
8ae034a139 Bump version to 0.3.1, add the missing config.py file
Good job git
2022-06-12 19:52:02 +02:00
Dragoon Aethis
2acd1482ad
Update README with a config file wiki link 2022-06-12 19:50:00 +02:00
Ryszard Knop
90346f579a Bump to 0.3.0, bump deps, misc cleanups and type corrections
Some of the misc issues were found with mypy. Not adding it to dev deps
for now as it complains about missing types in libraries and does not
honor noqa where we need it (non-literal TypedDict keys).
2022-06-12 19:31:25 +02:00
Ryszard Knop
4542057654 Add a Settings system
Allows permanently configuring itch-dl with an API key and other things
in the future. Adds a new dependency, Pydantic, to validate the config.
2022-06-12 19:28:31 +02:00
Ryszard Knop
f8f3e45a1b Bump version to 0.2.1 2022-05-30 22:45:49 +02:00
Ryszard Knop
611fec5a74 Handle files of unknown size as well
Some uploads contain no 'size' in their metadata, despite being hosted
on Itch.io infra. Download these as well.
2022-05-30 22:42:48 +02:00
Ryszard Knop
f709accaa5 Add support for the "Category" row in infoboxes 2022-05-30 22:40:47 +02:00
Ryszard Knop
e70520295b Bump version in pyproject.toml to 0.2.0 2022-05-15 20:15:32 +02:00
Ryszard Knop
008e6870e8 Implement infobox parsing, misc bugfixes, version bump 2022-05-15 20:10:32 +02:00
Ryszard Knop
f5c0f4658d Implement screenshot/cover art downloads, initial infobox parsing 2022-05-15 18:51:13 +02:00
Ryszard Knop
8a6bed69f4 Make error handling saner 2022-05-15 17:19:34 +02:00
Ryszard Knop
bf8a695521 File and site downloads are back 2022-05-15 16:38:31 +02:00
Ryszard Knop
4a8f88b48e Trial The Third: Start rewriting the thing
Wooo, someone wants to use this! Let's make it less embarrassing.
2022-05-15 02:02:45 +02:00
Ryszard Knop
00cced1f41 Add PyCharm IDE files 2021-10-13 15:33:17 +02:00
Ryszard Knop
998f8b0de6 Manage project with Poetry 2021-10-13 15:26:53 +02:00
Ryszard Knop
d487334258 Rename to itch-dl, update readme 2021-10-13 13:56:57 +02:00
Ryszard Knop
4627a863d8 Extract and download entries JSON from a jam URL
Script now accepts either a JSON file path or a jam URL, in which case
it downloads the page, extracts the jam ID, downloads the entries JSON
and grabs all titles accordingly.
2021-10-13 13:45:19 +02:00
Ryszard Knop
e1a800a4ab Add missing return on get_download_dir 2021-10-13 13:43:25 +02:00
Ryszard Knop
9183c01779 Pass credentials for file downloads too
This didn't actually pull private games - now it works.
2021-10-03 13:33:40 +02:00
Ryszard Knop
a552bb2393 Move argparse out of main 2021-10-03 13:31:08 +02:00
Ryszard Knop
8159244f8d Use argparse to convert continue_from to int 2021-10-03 13:28:24 +02:00
Ryszard Knop
f86044050f Trial The Second: Make leafo happy by not murdering his servers
Drop Selenium and clicking around itch - use the API instead.
Pulls HTML5 games, is way faster, uses less resources on both ends.
2021-10-03 03:51:07 +02:00
Ryszard Knop
5d0b8e1e99 Trial The First: Maybe It Works This Time 2021-10-02 03:05:29 +02:00
Dragoon Aethis
bdd95f62a8
Initial commit 2021-10-02 01:45:43 +02:00