Releases: evertonstz/pynps
pynps 1.6.2
Pypi release is updated. Upgrade with pip using:
pip install pynps --upgrade
Good news for windows users this release. As always, for any bug refer to issues
PSA: Keep in mind windows has a hard time with japanese characters, that's a problem with cmd and I'm not sure if I can do something to mitigate it. But I'm looking into it. Anyone with more information about this can also refer to issues
Changelog
Windows binaries are available again
You read it right, "are", pynps is now shipped in two flavors for windows:
Windows installer:
This is the best way for noobs to get everything runing, pynps is installed at C:\Program Files (x86)\pyNPS
, this installer ships with wget.exe and pkg2zip.exe bundled within, the installer will also add pynps into the PATHS (only if installed as administrator, aka "For all users in this computer", tho). For people that don't care about these technicalities, basically this means you only need to install pynps and it'll work out of the box: just open cmd and type "pynps".
For the installer, pynps uses this directory C:\Users\USERNAME\Documents\pyNPSbin
to store everything:
-there's no lib
folder, since it's bundled with the installer
-settings file is at pyNPSbin\settings.ini
-database is located at pyNPSbin\database\pynps.db
The download folder is C:\Users\USERNAME\Downloads\pyNPS
Windows portable exe file:
This is a one file executable shipped inside a zip, compared to the Windows installer, the portable release should have a startup time that's a little slower; You'll still need to look for a pkg2zip.exe
and a wget.exe
file and put it in the lib folder inside place_where_you_extracted_zip\pynps\pynps_config\lib
. You'll also need to add the pynps.exe
into your PATH if you want to run it easily from cmd, double clicking the file don't work.
For the portable release, everything is done inside place_where_you_extracted_zip\pynps
wget.exe
andpkg2zip.exe
, as already explaned, have to be insidepynps_config\lib\
-settings file is atpynps_config\settings.ini
-database is located atpynps_database\pynps.db
The download folder is pynps_downloads
, also inside place_where_you_extracted_zip\pynps
Support for pip on windows #14
Windows users that are familiar with python can now install pynps using pip!
On WIndows, pynps uses this directory C:\Users\USERNAME\Documents\pyNPS
to store everything:
wget.exe
andpkg2zip.exe
have to be insidepyNPS\lib\
-settings file is atpyNPS\settings.ini
-database is located atpyNPS\database\pynps.db
The download folder is C:\Users\USERNAME\Downloads\pyNPS
Windows user not using the installer can get pkg2zip from lusi1 and a wget build from here
BUG fixes
binaries are packed with pyinstaller and python 3.7.8. The installer is compiled with Inno Setup
pynps 1.6.1
Pypi release is updated. Upgrade with pip using:
pip install pynps --upgrade
Binaries won't be available until pyinstaller starts working on python 3.8, anyone interested can track it here
Changelog
Support for downloading PS3 avatars #18, implemented by @smvueno at #21
Users can now download avatars for PS3, as any other PS3 pkg these will also not be extracted, but .rap
will be downloaded when available. Users should use the flags -A
, --avatars
or -da
to download pkgs from this category:
# this will search for Ratchet and Clank avatars
pynps -Ac ps3 'Ratchet and Clank'
As always, everything related to this console is saved inside a PS3
directory located in your download's folder.
BUG fixes
- fixes flags not being checked for PSM 845ee5e
- fixes force exit when using an unsupported flag alongside a supported one 3ac6ed5
- fixes user being able to use
-zip
alongside-cso
or-eb
41f0bf0 - fixes flags' description, adds PS3 to all supported flags and fixes description for download resume 5d9ac9e
- allow users to call
--version
with-v
7e0792f
pynps 1.6.0
Pypi release is updated. Upgrade with pip using:
pip install pynps --upgrade
Binaries won't be available until pyinstaller starts working on python 3.8, anyone interested can track it here
ATTENTION (Updating users ONLY)!
Users coming from any past version will need to update the configuration file to add links related to the PS3 system, the easiest way of doing this is by removing the old settings.ini (located at ~/.config/pyNPS/settings.ini) and running pyNPS again to recreate the file.
Some users may want to do it manually for some reason, all you'll need to do is go to your settings.ini (located at ~/.config/pyNPS/settings.ini) and add the following section anywhere (respecting other sections of course):
[PS3_Links]
games = https://nopaystation.com/tsv/PS3_GAMES.tsv
dlcs = https://nopaystation.com/tsv/PS3_DLCS.tsv
themes = https://nopaystation.com/tsv/PS3_THEMES.tsv
demos = https://nopaystation.com/tsv/PS3_DEMOS.tsv
avatars = https://nopaystation.com/tsv/PS3_AVATARS.tsv
Users fixing their settings manually should also consider moving their old links from http
to https
.
Changelog
PS3 Support #10
Users can now download PS3 pkgs:
# this will search for GTA V for the PS3
pynps -Gc ps3 'Grand Theft Auto V'
There's no pkg2zip extraction going on for PS3 (therefore -eb
, -cso
and -zip
flags will be ignored). Packages are saved as .pkg
(inside the packages
subfolder) and .rap
(inside the exdata
subfolder) when available. Everything related to this console is saved inside a PS3
directory located in your download's folder.
For now downloading avatar files isn't supported by pynps, but it'll be implemented eventually.
EBOOT.pbp identification #11
In version 1.4.3 I started efforts to find a way make identification easier for eboot games. At that release I started scanning the eboot file for the game's name and making a .txt
file in the same folder as the eboot with the found name, it also only worked for PSX games... well, I was dumb, I have all the information needed for any game available at hand since this data is inside the database already, so scanning the file for a name is just not necessary and specially not performance friendly. So it changed it in this release:
In this version every bit of information is retrieved from the database, the .txt
file inside the folder will be named using a pattern like this: Name (Region) [Tittle ID].txt
. The file isn't empty anymore, instead I dump all the info for the pkg inside as json. This feature is also available for both PSP and PSX eboots.
Here's an example: Crossroad Crisis (US) [NPUJ01342].txt
Here's how it looks indide the folder:
Why not rename the folder instead of making a text file? Well, PSP/Adreanline don't handle well name modification in the eboot's folder, instead of creating more problems just putting a text file there so the user can check it in the console/PC is more reasonable. I'm open to ideas on better ways to solve this, tho.
BUG fixes
pynps 1.5.0
Pypi release is updated. Upgrade with pip using:
pip install pynps --upgrade
Binaries won't be available until pyinstaller starts working on python 3.8, anyone interested can track it here
Changelog
Multisearch
You can now do multisearch by joining multiple keywords together with +
. An example
# searching for Spyro, Crash Bandcoot and Harvest Moon games on psx
pynps -cG psx "spyro+crash bandcoot+harvest moon"
Sorting search results
You're now able to sort the search output with a string by using the flag -s
or --sort
. Available options for sorting are: console or c, title_id or id, region or r, type or t, game_name or n, size or s.
You can use multiple options with a comma, when doing so there's hierarchy and the more to the left the option is, the more priority it has in sorting items.
When this flag is not used, pynps will default to "c,t,r,n"
for sorting.
Example:
# the example below will sort the search by "type" and "size", "type" will take priority over "size"
pynps --sort "t,s" -zip -r usa -c psx -c psv "crash"
Extract PKG to a ZIP file #12
Option to extract the pkg into a zip file, instead of a folder, this is good for people looking to download a bunch of games for preservation sake. When downloading multiple games, each game will be their own zip file.
To use this option just call the flag -zip
or --compress_zip
like so:
pynps -zip -c psx "Umi no Nushi Tsuri"
PSA: zip files are stored inside a "ZIP" folder in your downloads, instead of "Extracted".
pynps 1.4.3
Pypi release is updated. Upgrade with pip using:
pip install pynps --upgrade
Binaries won't be available until pyinstaller starts working on python 3.8, anyone interested can track it here
Changelog
- when downloading a PSX game, pynps will now create a .txt file inside the eboot folder with the game's name, making them easy to identify. This is done by reading the name from the .pbp file and is a straight copy of BertrandHustle's implementation in psx_scraper 8cdb971
pynps 1.4.2
pynps 1.4.1
Pypi release is updated. Upgrade with pip using:
pip install pynps --upgrade
Changelog
- add --print/-p argument, with this argument pynps will print (encoded in unicode, to avoid issues with cmd and terminal with strange characters) any search you make and exit, it's ideal for people looking to redirect a search into a text file ba15ea7
#the following will search for all games in psvita and redirect the output to output.txt
pynps -Gpc psv _all > output.txt
# the following will search for all spyro games and dlcs in psp and redirect the output to spyro.txt
pynps -GDpc psp spyro > spyro.txt
# or you can just print the above without saving the output
pynps -GDpc psp spyro
A video on the new feature:
binaries packed with pyinstaller
pynps 1.4.0
Pypi release is updated. Upgrade with pip using:
pip install pynps --upgrade
Windows binary available
There's now a 64bits Windows binary available for download, you'll neet to get a 64bits wget.exe from here or any other place you wish, you'll also need to grab the latest pkg2zip_64bit.zip from lusid1's releases. Here's what you'll need to do:
Extract the windows .zip release to any folder you wish, open the extracted folder and drop wget.exe and pkg2zip.exe inside the pynps_config/lib/
subfolder! All you need now is run pynps.exe from CMD, you might also want add pynps.exe to your PATH so you can run it with "pynps" command, here's a good tutorial
Easily stop and resume downloads!
It's now possible to save a download session to be resumed latter using the -R/--resume argument, more info in this video (I'll also upload some videos for the README.md tutorials):
The database file that keeps up with your downloads is inside /home/$USER/.config/pyNPS/database/downloads.db
, in case something goes wrong you can delete it and always open an issue here on github!
A change of flow...
Before ths update pynps work would flow like this:
Assuming you're downloading 1)sonic, 2)crash and 3)spyro:
* Downloads 1 -> Checksum 1 -> Download 2 -> Checksum 2 -> Download 3 -> Checksum 3 -> Extract 1 -> Extract 2 -> Extract 3
From this and future updates, due to changes realted to resuming downloads (and keeping up with what was downloaded or not), it now flows like this:
* Downloads 1 -> Checksum 1 -> Extract 1 -> Downloads 2 -> Checksum 2 -> Extract 2 -> Downloads 3 -> Checksum 3 -> Extract 3
Changelog
- fixes phantom folders being created inside
/home/$USER/.config/pyNPS/database/
ac01106 - ignores cart-only games, since they can't be downloaded 99a4775
- some typing errors d27fabd
- resume download implementation 5f26256
- windows support 48a4c4e 74f170b
- closes #4
binaries packed with pyinstaller
pynps 1.3.1
Pypi release is updated. Upgrade with pip using:
pip install pynps --upgrade
Changelog
- fixes bug with prompt toolkit not being apple to print some special characters, special thanks to the guys over their github repo 40d1593
binary packed with pyinstaller
pynps 1.3.0
Pypi release is updated. Upgrade with pip using:
pip install pynps --upgrade
Changelog
- add support for download speed limit, the new argument is -l or --limit_rate 67549cc
# uses the same syntax as wget # the following command will limit the download speed at 50kbps # you can use m for mbps, g ofr gbps and t for tbps >pynps -c psv -G -l 50k sonic
- pynps will now delete a successfully extracted .pkg, users can use the new argument -k or --keepkg if he/she is interested in keeping the .pkg file acddd29
- makes pkg2zip not obligatory to run the program, extraction and .pkg deletion will be skipped in this case 09313a8
binary packed with pyinstaller