Comments (6)
Oh dear. Perhaps the API has changed. I'll look into this when I can
from itchio.
If I enter "python -m itchiodl.bundle_tool" in the command prompt without administrator privileges and enter my login information and bundle link, it prints 'processing page [x]/[n]' several times, and I see no change. I'm not sure if this is expected.
I believe this is as intended, it should've added all the games to your itch library, and that is why the downloader is able to reference them
I'm experiencing a very similar issue, running itch-download
or by running the main.py directly from the source, grabs all the files from my account and creates folders for them, but then immediately exits back to the command line without downloading any of the files. Looks like #70 is also a duplicate of this issue as well
I'm experiencing the same error @dph121 is while downloading a single game using `itch-download --download-game``, but I'm experiencing it in both Administrator and normal command prompt windows
from itchio.
I can't seem to replicate it on my machine
I want to check that you're waiting for all the pages to load before it starts downloading (if your itch library is anything like mine, this may take some time)
(venv) [user@hostname ~]$ python -m itchiodl.downloader -k REDACTED
Loading page 1
Loading page 2
...
Downloading GAME NAME
Downloading GAME NAME
PS: Admin privileges are not required, so it should be run without them
from itchio.
If I enter "python -m itchiodl.downloader" in the command prompt with administrator privileges and enter my login information, it says
You're entering your username or password incorrectly, the error message says {"errors":["Incorrect username or password"]}
. I'd strongly reccommend using an API key (from https://itch.io/user/settings/api-keys ) to make sure you don't get any authentication issues
If I try to download a single item, using "python -m itchiodl.downloader --download-game "https://housedok.itch.io/on-a-black-horse"" without admin privileges and enter my information, I get
Are you sure the game is in your library? if i try it with a game I own i get this
$python -m itchiodl.downloader --download-game https://bsl.itch.io/inkbit -k REDACTED
inkbit is a purchased game.
Loading page 1
Loading page 2
Downloading [Inkbit] Pixel Art Font Set
Downloading All TTF files (single download).zip
File Already Exists! All TTF files (single download).zip
Skipping [Inkbit] Pixel Art Font Set - All TTF files (single download).zip
Downloading Inkbit.ttf
File Already Exists! Inkbit.ttf
Skipping [Inkbit] Pixel Art Font Set - Inkbit.ttf
Downloading InkbitTwo.ttf
File Already Exists! InkbitTwo.ttf
Skipping [Inkbit] Pixel Art Font Set - InkbitTwo.ttf
Downloading InkbitThree.ttf
File Already Exists! InkbitThree.ttf
Skipping [Inkbit] Pixel Art Font Set - InkbitThree.ttf
Downloaded [Inkbit] Pixel Art Font Set (1 of 1)
What's your PWD, do you have write access to the folder?
from itchio.
I'm putting what I think might be the most useful finding here at the top. I've attempted to answer the rest of your questions to the best of my ability below the horizontal line, though that is hopefully redundant.
I went around putting print statements in the code. If I add print(data)
before line 17 in game.py and enter
python -m itchiodl.downloader -k REDACTED --download-game https://housedok.itch.io/on-a-black-horse
into the console, it gives the same error as before, but first prints
{'uploads': [{'storage': 'hosted', 'size': 3764109, 'game_id': 1955665, 'md5_hash': REDACTED, 'id': 7464733, 'position': 0, 'updated_at': '2023-03-05T15:59:49.000000000Z', 'type': 'default', 'filename': 'On A Black Horse - A Metahumans Rising One Shot.pdf', 'traits': {}, 'created_at': '2023-03-05T15:56:41.000000000Z'}]}
It looks like the code expects a different data format, with 'game' as the root instead of 'uploads' and some other changes as well. The same happens with other items I own:
{'uploads': [{'storage': 'hosted', 'size': 110406, 'type': 'default', 'id': 6474412, 'md5_hash': REDACTED, 'position': 0, 'updated_at': '2022-09-09T21:31:23.000000000Z', 'filename': 'By String and Song.pdf', 'game_id': 1697548, 'traits': {}, 'created_at': '2022-09-09T21:24:37.000000000Z'}]}
{'uploads': [{'created_at': '2022-09-29T14:45:32.000000000Z', 'storage': 'hosted', 'filename': "His Majesty's Monster Slayers v1.pdf", 'type': 'book', 'position': 0, 'game_id': 1724035, 'updated_at': '2022-09-29T14:48:44.000000000Z', 'id': 6574210, 'size': 588466, 'md5_hash': REDACTED, 'traits': {}}]}
Hopefully obsolete troubleshooting below:
I'd strongly reccommend using an API key (from https://itch.io/user/settings/api-keys ) to make sure you don't get any authentication issues
I've now tried with the API code. It gives the same error as before if I enter the API code correctly, and gives an API code error if it was entered incorrectly (so it does appear to be logging in to itch.io with the manual username and password)
I want to check that you're waiting for all the pages to load before it starts downloading (if your itch library is anything like mine, this may take some time)
I don't understand what you mean by this. When I run the program, there seems to be no pause or option to wait between 'loading page 12' and 'downloading 🍀 On A Black Horse - A Metahumans Rising Adventure' in
C:\Users\flipw>python -m itchiodl.downloader -k REDACTED
Loading page 1
Loading page 2
[...]
Loading page 12
Downloading 🍀 On A Black Horse - A Metahumans Rising Adventure
Downloading Bookish Butterfly
[etc.]
You're entering your username or password incorrectly, the error message says {"errors":["Incorrect username or password"]}.
I didn't (I checked, copy-pasting my password works iff I don't run it as administrator), but this only goes wrong if I'm running it as administrator, so it's perhaps not as important if that's not intended usage.
Are you sure the game is in your library?
I've currently manually downloaded "🍀 On A Black Horse" (https://housedok.itch.io/on-a-black-horse). I can see it in the itch.io default game folder (for me, C:\Users\flipw\AppData\Roaming\itch\apps\on-a-black-horse), and in the itch.io app under library / installed items. Nevertheless, I get:
python -m itchiodl.downloader -k REDACTED --download-game https://housedok.itch.io/on-a-black-horse
Traceback (most recent call last):
File "C:\Users\flipw\anaconda3\lib\runpy.py", line 197, in _run_module_as_main
return run_code(code, main_globals, None,
File "C:\Users\flipw\anaconda3\lib\runpy.py", line 87, in run_code
exec(code, run_globals)
File "C:\Users\flipw\anaconda3\lib\site-packages\itchiodl\downloader_main.py", line 66, in
main()
File "C:\Users\flipw\anaconda3\lib\site-packages\itchiodl\downloader_main.py", line 58, in main
lib.load_game(matches.group(1), matches.group(2))
File "C:\Users\flipw\anaconda3\lib\site-packages\itchiodl\library.py", line 56, in load_game
self.games.append(Game(k))
File "C:\Users\flipw\anaconda3\lib\site-packages\itchiodl\game.py", line 17, in init
self.data = data["game"]
KeyError: 'game'
I can see "by string and song" (https://efangamez.itch.io/by-string-and-song-a-bard-only-ttrpg) in the itch.io app under library / owned items. I get the same error:
(base) C:\Windows\System32>python -m itchiodl.downloader -k REDACTED --download-game https://efangamez.itch.io/by-string-and-song-a-bard-only-ttrpg
Traceback (most recent call last):
File "C:\Users\flipw\anaconda3\lib\runpy.py", line 197, in _run_module_as_main
return run_code(code, main_globals, None,
File "C:\Users\flipw\anaconda3\lib\runpy.py", line 87, in run_code
exec(code, run_globals)
File "C:\Users\flipw\anaconda3\lib\site-packages\itchiodl\downloader_main.py", line 66, in
main()
File "C:\Users\flipw\anaconda3\lib\site-packages\itchiodl\downloader_main.py", line 58, in main
lib.load_game(matches.group(1), matches.group(2))
File "C:\Users\flipw\anaconda3\lib\site-packages\itchiodl\library.py", line 56, in load_game
self.games.append(Game(k))
File "C:\Users\flipw\anaconda3\lib\site-packages\itchiodl\game.py", line 17, in init
self.data = data["game"]
KeyError: 'game'
What's your PWD,
If you mean password, this seems like a security hazard. If you mean something else, I don't know what it stands for.
do you have write access to the folder?
Yes. The folders get made by the base itchiodl.downloader, and I can manually make files in those folders as well as in the directory I'm operating in.
from itchio.
Fixed by #72
from itchio.
Related Issues (20)
- Broken files aren't redownloaded HOT 1
- Deleted files aren't redownloaded HOT 1
- Download free games with this tool? HOT 6
- Show overall progress
- Add Games in bundle to library does not work HOT 8
- Downloader is creating folders and JSON files for about half of my library, then exiting HOT 18
- Can't Get Downloader working HOT 6
- Detect (and remove) files that aren't available on Itch servers (older version of games)
- No progress of download | after running the tool
- Failing to download HOT 9
- licensing HOT 1
- Feature Request: Cache download_key_ids HOT 1
- Finding games but not writing files. HOT 8
- crash downloading large library HOT 5
- Crash when a game file changes name when downloaded due to filename character restrictions HOT 2
- Crash - AttributeError: 'str' object has no attribute 'open' HOT 4
- Crash - FileNotFoundError: [Errno 2] No such file or directory when filename contains unusual symbols HOT 3
- Get "FileExistsError" after re-launching the script following a crash related to MD5 hash checks
- Code Issues
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from itchio.