RePod / psdle

Improving everyone's favorite online download list, one loop at a time.
https://repod.github.io/psdle
MIT License
194 stars 14 forks source link

Keeps stopping at 4831 items #23

Closed JohnRoc closed 8 years ago

JohnRoc commented 9 years ago

Hello! I love this nifty little tool for sorting the nightmare that is the PSN download list, but I've been having some problems with it recently. When I leave the default selections "Entitlements" and "Download Queue" it loads almost instantly and works well. However, when I try to add "Vita TV" to the selection, it just says "Please wait," indefinitely. It never does anything else. And lastly, when I try to select all options including "Catalog," it always gets hung around item 4,831 on the list. It just stops and stays there. It's frustrating because I like being able to sort everything by Add-On, Themes, etc. I don't know a whole lot about programming or computers, but if there's any more info you need, I'll do my best to provide it. I hope there's a fix for it. Thanks again for this awesome tool! ps store screenshot

RePod commented 9 years ago

I'll assume the issue is also happening in Firefox, and since I know FF's environment a little better I'll use it while finding the problem.

To start, press Ctrl+Shift+K to open Firefox' console. Then ensure the logging options (the top row with Net, CSS, etc.) are toggled like so:

My image was taken after the table was displayed, but do this before running PSDLE.

If any notable errors stand out, paste those here.

JohnRoc commented 9 years ago

Apologies for taking a while to get back to you, busy week. So I tried again following your example and it stopped at item 4982 this time. Only errors shown were four of the "TypeError: e is undefined" in a row. Just like in your example. Never gets to the "Table generated" completion part though. I pulled up the PS Store, opened the Firefox console, highlighted the same options you did, then ran PSDLE. No notable errors, though. :(

RePod commented 9 years ago

Run PSDLE and whichever number it stops on add 1 to it (it may be different each time due to ordering issues). Replace 123 in the following command with that number and execute it in the console. Paste the result of that here.

prompt("",JSON.stringify(
    gEntitlementManager.getAllEntitlements()[123]
));

PSDLE should be using your Entitlements (purchase) data, and if it's stopping on a specific one there may be something unexpected (I can't account for every situation).

JohnRoc commented 9 years ago
"{"active_date":"2015-04-20T04:49:36Z","active_flag":false,"drm_def":{"active_flag":false,"autoDownload":false,"availableDate":"2015-04-20T04:49:36Z","contentName":"Adventure Time: Explore The Dungeon Because I DON'T KNOW!","contentType":"GAME","downloadableStatus":"ready","drmContents":[{"bitrate":0,"contentId":"UP0367-NPUB31282_00-ADVENTURETMGMPKG","contentName":"Adventure Time: Explore The Dungeon Because I DON'T KNOW!","contentSize":901842000,"contentUrl":"http://zeus.dl.playstation.net/cdn/UP0367/NPUB31282_00/UYaMlzcSPXdQyUlIzwyrdkNBGajNqqbIAJuFkuDaCedySAqRYdlELRfPIbSEKtpj.pkg","downloadType":0,"drmContentType":1,"drmType":2,"gracePeriod":0,"platformIds":2147483648,"position":0,"spName":"D3 Publisher of America","titleName":"Adventure Time: Explore The Dungeon Because I DON'T KNOW!"}],"duration":0,"entitlementId":"UP0367-NPUB31282_00-ADVENTURETMGMPKG","firstPlayExpiration":0,"firstPlayExpirationHours":0,"image_url":"https://image.api.np.km.playstation.net/images/?format=png&image=http%3A%2F%2Fapollo.dl.playstation.net%2Fcdn%2FUP0367%2FNPUB31282_00%2F95PlZy1LVxrSFEHIybAGlZgwY4I7xNrV.png&sign=dfadf58fbced40e8ea4544b17ff3770b37f85c48","media_type":0,"productId":"UP0367-NPUB31282_00-ADVENTURETMGMPKG","release_date":0,"runtime":0,"salesType":"own","startedStreaming":false,"year_release":0},"entitlement_type":2,"feature_type":0,"game_meta":{"name":"Adventure Time: Explore The Dungeon Because I DON'T KNOW!"},"id":"UP0367-NPUB31282_00-ADVENTURETMGMPKG","inactive_date":"2015-04-20T04:49:36Z","is_consumable":false,"license":{"entitlement_id":"UP0367-NPUB31282_00-ADVENTURETMGMPKG","feature_type":0,"infinite_duration":true,"start_date":"2015-04-20T04:49:36Z"},"preorder_flag":false,"preorder_placeholder_flag":false,"product_id":"UP0367-NPUB31282_00-ADVENTURETMGMPKG","revision_id":1346780545918,"sku_id":"UP0367-NPUB31282_00-ADVENTURETMGMPKG-U002","subs_flag":false,"use_count":0,"use_limit":0}"

Looks like something to do with an Adventure Time game? I used the number 4983 as my starting point as you suggested.

RePod commented 9 years ago

I apologize. I soon realized the command I gave you was wrong as PSDLE sorts its list before processing the Catalog, rendering the previous steps useless (because the number was wrong).

Instead, I added a logging command which spits out what ID PSDLE is processing in that instance.

Please execute this (all of PSDLE with this extra logging command) in the console and run with Catalog enabled.

You should see a few game_api->process pid_cache GAMEID for a short while before it moves onto processing the games. Afterwards it'll switch to the actual games with represented by numbers: game_api->process 62 GAMEID.

In theory whatever it dies on will be the culprit.

Please provide the last 5-10 _GAMEID_s and I'll look into them manually.

JohnRoc commented 9 years ago

game_api->process 4975 UP1024-NPUB30142_00-0000000000000022 game_api->process 4976 UP1024-NPUB30142_00-0000000000000010 game_api->process 4977 UP1024-NPUB30142_00-0000000000000009 game_api->process 4978 UP1024-NPUB30142_00-0000000000000008 game_api->process 4979 UP1024-NPUB30142_00-0000000000000007 game_api->process 4980 UP1024-NPUB30142_00-0000000000000006 game_api->process 4981 UP1024-NPUB30142_00-0000000000000005 game_api->process 4982 UP1024-NPUB30142_00-0000000000000004 game_api->process 4983 UP1024-NPUB30142_00-0000000000000003 game_api->process 4985 UV0001-NPVA14670_CN-0000000000027045

It stopped at item 4983/5584 this go round. The final error was that same "e is undefined." Hope this helps, and thank you for trying to help me.

RePod commented 9 years ago

The last ID, UV0001-NPVA14670_CN-0000000000027045, seems to be for the movie 2012, which clearly shouldn't even be considered for PSDLE. The proceeding IDs seems to be from Record of Agarest which is an actual game so I doubt those are the issue.

Please run repod.psdle.debug.entitlement("UV0001-NPVA14670_CN-0000000000027045") in the console and post the results here.

JohnRoc commented 9 years ago

I think the 2012 movie was a free voucher that came with a PSP I had bought several years ago. I assume you meant to run that line in the console after it has stopped? I'm sorry, I wasn't quite sure at what point to run it. It just said "name is undefined" when I tried?

Effloresce commented 8 years ago

Hey. I've got exactly the same problem. Works fine unless I select "Catalogue" too. I tried the troubleshooting mentioned in the previous messages. It stops at number 420 for me. If I run with logging, I get these as the last few:

game_api->process 417 EP9000-CUSA00003_00-DCXLIVERIESXX018 game_api->process 418 EP9000-CUSA00003_00-DCXLIVERIESXX017 game_api->process 419 EP9000-CUSA00003_00-DCXLIVERIESXX015 game_api->process 420 EP9000-CUSA00003_00-DCXVEHICLEXX0789 game_api->process 422 EP0001-CUSA02900_00-GROWHOMEPS4SCEE0

Running the follwoing command in the console: repod.psdle.debug.entitlement("EP0001-CUSA02900_00-GROWHOMEPS4SCEE0") just gives this message: undefined

Any help would be great, as it's an awesome tool. Thanks!

RePod commented 8 years ago

Please try running this version of PSDLE.

To execute it, try one of the following:

Alternatively, if using the userscript you can update it.


If fixed, I'll mirror these changes on the site and Chrome extension. However, I don't want to do so until it's confirmed.

Effloresce commented 8 years ago

Thanks for the speedy reply. Just tried it and it no longer hangs and ran to completion :) Thank you!

RePod commented 8 years ago

Nice, going to assume this fixes the original problem too.

The site's versions and the Chrome extension have been updated if you were using either.