Skip to content

Releases: evertonstz/pynps

pynps 1.6.2

03 Jul 23:29
Compare
Choose a tag to compare

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 and pkg2zip.exe, as already explaned, have to be inside pynps_config\lib\
    -settings file is at pynps_config\settings.ini
    -database is located at pynps_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 inside pyNPS\lib\
    -settings file is at pyNPS\settings.ini
    -database is located at pyNPS\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

16 Jun 20:03
Compare
Choose a tag to compare

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.

d7d21e8

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

12 Jun 14:20
Compare
Choose a tag to compare

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:
image

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.

2b66757

BUG fixes

  • fixes a bug where PSP ISOs weren't being saved 46cfca1
  • migrate all links to https de364ce

pynps 1.5.0

01 Jun 00:00
Compare
Choose a tag to compare

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"

d5aab01

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"

d5aab01

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".

9d7ce5e

pynps 1.4.3

31 May 17:09
Compare
Choose a tag to compare

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

05 Apr 23:12
Compare
Choose a tag to compare

Pypi release is updated. Upgrade with pip using:

pip install pynps --upgrade

Changelog

binaries will be available once I get pyinstaller working again.

Be safe and wash your hands! Let's fight COVID19 together.

pynps 1.4.1

10 Jan 17:52
Compare
Choose a tag to compare

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:
asciicast
binaries packed with pyinstaller

pynps 1.4.0

16 Dec 07:19
Compare
Choose a tag to compare

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):
asciicast
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

05 Dec 22:31
Compare
Choose a tag to compare

Pypi release is updated. Upgrade with pip using:

pip install pynps --upgrade

Changelog

binary packed with pyinstaller

pynps 1.3.0

05 Dec 12:02
Compare
Choose a tag to compare

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