Pandora PNDManager


Upgraded to the new version, and while having higher download speeds is really nice, the improved syncing is a real dealbreaker for me. I did notice that PNDManager gets unresponsive, if several downloads are happening at the same time, though. Is there an option to not download things in parallel, but consecutive ?


I'd also like to express a feature request: Could it be made possible to exclude some pnds deliberatly from beeing updated/from appearing in the update list ? Usecase: Yesterday the "pnds to update" list was quite long, and I overlooked the RtCW entry in it, so it updated this particular pnd too - which I didn't not want to happen.
The first issue you described was already in the previous versions. Nothing new in this one.

For the second one, a simple way to do it is to update all and just stop the ones you don't want to upgrade as they are downloading. 
 
Interesting, I always thought that downloading things in parallel is a feature, not the other way round  :)
Not very nice when you have many updates. Especially on pandora wlan.

How milkyhelper deals with this, is that it queues every 5 downloads for parallel downloading.

When one of active downloads finishes it starts the next one in queue.
 
Last edited by a moderator:
The first issue you described was already in the previous versions. Nothing new in this one.
Hmm strange, did not notice that before
For the second one, a simple way to do it is to update all and just stop the ones you don't want to upgrade as they are downloading.
that heavily depends on the download speed, filesize and how fast one is (thinking and reacting) . Unfortunatly (in that particular case) the download speed was really good, the file was small, and I did not realize it instantly.
 
Last edited by a moderator:
New beta available: PNDManager 1.3.2.2 (mirror)

New stuff:

  • Deleting own comments
  • Download queuing with variable max parallel downloads (default 4, can be changed from settings.cfg)
  • Comment/Rating error messages on failure
  • Thread-safety fixes
  • Some smaller bugfixes
  • Term change: "author" to "maintainer"
 
Last edited by a moderator:
Thanks! No real problems here. Don't know whether this buglet is new: after manually initiating (using Y on the package's page) the update of the milkyhelper package today it downloaded it but didn't update the display after installing the package; had to leave and reenter the page.


Is there a way to delete a comment without using the touch screen?


Seeing these Test releases outside the repo I'm wondering whether it would be a good idea if libpndman/PNDManager could handle the Alpha/Beta flag and be reasonably smart about it? Perhaps update from stable to Alpha/Beta and from Beta to Alpha only manually (or with a setting) but updating from beta to beta automatically? Option of backing up the appdata when changing from stable to alpha/beta to allow an easy way to revert to stable?
 
 Seeing these Test releases outside the repo I'm wondering whether it would be a good idea if libpndman/PNDManager could handle the Alpha/Beta flag and be reasonably smart about it? Perhaps update from stable to Alpha/Beta and from Beta to Alpha only manually (or with a setting) but updating from beta to beta automatically? Option of backing up the appdata when changing from stable to alpha/beta to allow an easy way to revert to stable?
libpndman already handles the alpha/beta flags, I leave the decisions how to deal with them to client.

libpndman does expose backup option though, so it can backup all old pnd's to <SD>/pandora/backup, but currently pndmanager doesn't use it.

I have plans to add some appdata handling as well to libpndman, but currently haven't done so.

Also the current libpndman release has quite annoying bug regarding conflict checking, so it might generate duplicate pnds on your SD card, if you manage to reinstall same PND twice.

I'm not sure if it's possible to reproduce this bug in current pndmanager. Next release should fix this however.
 
Last edited by a moderator:
Is there a way to delete a comment without using the touch screen?
Currently no. I couldn't think of a nice way to implement it while keeping the current interface and not using separate views for listing removable comments and such. Since comment removal is actually quite a rare use-case I thought it's not too bad at least for now. If an elegant solution pops up than I can implement it. I have one idea () under consideration, but it doesn't work well in all cases so it'll need to be tweaked.
 
I agree. It is rare. No need to spend time on this. I was just realizing that this was the first time I used the touchscreen with PNDManager:)
 
Yeah, I try to strictly allow both input methods, and intend to fix that too when I come up with a good non-hacky solution :)
 
Hi,

PND Manager looks awesome, of course, but I've never been able to use it, because it doesn't seem to like adding PNDs to a SD card that's ext2-formatted. Is this a known issue? Is it something you'll be able to fix? :)

Thanks.
 
Yeah. I try to install stuff in the same place as I've put other PNDs. It just hangs with a 'syncing' symbol if I try to install new things.
 
I constantly use it with ext2 SD's myself. Can you provide a output from a situation like that?
my settings.cfg looks like:


[panorama]
dataDirectory=/mnt/utmp/pndmanager
uiDirectory=interfaces
ui=PNDManager
fullscreen=true

[PNDManager]
showSplashScreen=true
showHints=true
mouseCursorVisible=false
lastInstallDevice=/media/DATA
lastInstallLocation=Menu
loggingVerbosity=5
username=freamon
apiKey=
output from PND Manager looks like:

Code:
QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv_open failed
QIconvCodec::convertToUnicode: using Latin-1 for conversion, iconv_open failed
Settings are saved in "/mnt/utmp/pndmanager/settings.cfg" 
QPndman::Repository::update 
QPndman::Repository::update 
PNDManager::PNDManager 
 * Reading from "/media/DATA" 
QPndman::Repository::update 
QPndman::Repository::update 
Loaded UI PNDManager created by B-ZaR.
Description:
PND Manager application
Crawling 
QPndman::Repository::update 
Found 14 new installed packages 
PNDManager::updatePackages 
14 installed packages 
Total 14 packages 
Searching for icon for pnd  "gftp-gftp" 
PNDManager::getPackageById  "gftp-gftp" 
   Found it! 
Searching for icon for pnd  "getiplayer.freamon.40n8e" 
PNDManager::getPackageById  "getiplayer.freamon.40n8e" 
   Found it! 
Searching for icon for pnd  "cdevtools.freamon.40n8e" 
PNDManager::getPackageById  "cdevtools.freamon.40n8e" 
   Found it! 
Searching for icon for pnd  "apkenv.crow_riot.app" 
PNDManager::getPackageById  "apkenv.crow_riot.app" 
   Found it! 
Searching for icon for pnd  "a7xpg_m-ht" 
PNDManager::getPackageById  "a7xpg_m-ht" 
   Found it! 
Searching for icon for pnd  "package.mastercontrol" 
PNDManager::getPackageById  "package.mastercontrol" 
   Found it! 
Searching for icon for pnd  "pndmanager-bzar" 
PNDManager::getPackageById  "pndmanager-bzar" 
   Found it! 
Searching for icon for pnd  "plum" 
PNDManager::getPackageById  "plum" 
   Found it! 
Searching for icon for pnd  "pandoraclock-app" 
PNDManager::getPackageById  "pandoraclock-app" 
   Found it! 
Searching for icon for pnd  "radiotray.freamon.40n8e" 
PNDManager::getPackageById  "radiotray.freamon.40n8e" 
   Found it! 
Searching for icon for pnd  "alarmclock-alarm-clock" 
PNDManager::getPackageById  "alarmclock-alarm-clock" 
   Found it! 
@FILE pndman.c             @LINE��67   >> _pndman_get_tmp_file
Created temporary file.
@FILE curl.c               @LINE��219  >> _pndman_curl_handle_perform
url: http://repo.openpandora.org/client/masterlist?bzip=true
@FILE curl.c               @LINE��299  >> _pndman_curl_msg
HTTP/1.1 200 OK
Date: Sun, 18 Aug 2013 16:00:45 GMT
Server: Apache
X-Powered-By: PHP/5.4.4-14+deb7u3
Cache-Control: public
Etag: 1376837463
Connection: close
Transfer-Encoding: chunked
Content-Type: application/x-bzip2


@FILE curl.c               @LINE��303  >> _pndman_curl_msg
BZh41AY&SY-8s�

@FILE pndman.c             @LINE��67   >> _pndman_get_tmp_file
Created temporary file.
QPndman::Repository::update 
QPndman::Repository::update 
Crawling 
QPndman::Repository::update 
Found 14 new installed packages 
PNDManager::updatePackages 
14 installed packages 
Total 1031 packages 
Searching for icon for pnd  "gpodder.freamon.40n8e" 
PNDManager::getPackageById  "gpodder.freamon.40n8e" 
   Found it! 
@FILE pndman.c             @LINE��67   >> _pndman_get_tmp_file
Created temporary file.
@FILE curl.c               @LINE��219  >> _pndman_curl_handle_perform
url: http://repo.openpandora.org/client/comment
@FILE curl.c               @LINE��225  >> _pndman_curl_handle_perform
POST: id=package.picodrive.notaz&pull=true
@FILE pndman.c             @LINE��67   >> _pndman_get_tmp_file
Created temporary file.
@FILE curl.c               @LINE��219  >> _pndman_curl_handle_perform
url: http://repo.openpandora.org/client/handshake
@FILE curl.c               @LINE��225  >> _pndman_curl_handle_perform
POST: stage=1
@FILE curl.c               @LINE��299  >> _pndman_curl_msg
HTTP/1.1 200 OK
Date: Sun, 18 Aug 2013 16:01:14 GMT
Server: Apache
X-Powered-By: PHP/5.4.4-14+deb7u3
Connection: close
Transfer-Encoding: chunked
Content-Type: application/json


@FILE curl.c               @LINE��299  >> _pndman_curl_msg
HTTP/1.1 200 OK
Date: Sun, 18 Aug 2013 16:01:14 GMT
Server: Apache
X-Powered-By: PHP/5.4.4-14+deb7u3
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: PHPSESSID=q1j3bcr6qr1f3i2ffqg21dnm85; path=/
Connection: close
Transfer-Encoding: chunked
Content-Type: application/json


@FILE curl.c               @LINE��303  >> _pndman_curl_msg
{"nonce":"c81042ac66ea"}
@FILE repo_api.c           @LINE��607  >> _pndman_api_handshake_perform
c81042ac66ea
@FILE curl.c               @LINE��200  >> _pndman_curl_handle_perform
CURL REOPEN
@FILE pndman.c             @LINE��67   >> _pndman_get_tmp_file
Created temporary file.
@FILE curl.c               @LINE��219  >> _pndman_curl_handle_perform
url: http://repo.openpandora.org/client/handshake
@FILE curl.c               @LINE��225  >> _pndman_curl_handle_perform
POST: stage=2&cnonce=7d3191ac2cc6e4c6d20cecd3da73f192&user=&hash=6259cde71341573bec8f6c7af2633bfa
@FILE curl.c               @LINE��299  >> _pndman_curl_msg
HTTP/1.1 200 OK
Date: Sun, 18 Aug 2013 16:01:15 GMT
Server: Apache
X-Powered-By: PHP/5.4.4-14+deb7u3
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Connection: close
Transfer-Encoding: chunked
Content-Type: application/json


@FILE curl.c               @LINE��303  >> _pndman_curl_msg
{"error":{"number": 4,"text":"Username not supplied."}}
@FILE repo_api.c           @LINE��555  >> _pndman_api_handshake_check
4: Username not supplied.


ext2 probably isn't the issue (I thought I remembered somebody saying there was one, and assumed it was that).
 
@freamon,

Your issue is that you supplied username in your settings.cfg, but not api_key. The handshaked downloads fail now.

Either add your apiKey as well or leave the username empty.
 
Still not working for me. If I add an API key, my output is

@FILE pndman.c @LINE67 >> _pndman_get_tmp_file
Created temporary file.
@FILE curl.c @LINE219 >> _pndman_curl_handle_perform
url: http://repo.openpandora.org/client/comment
@FILE curl.c @LINE225 >> _pndman_curl_handle_perform
POST: id=package.picodrive.notaz&pull=true
@FILE pndman.c @LINE67 >> _pndman_get_tmp_file
Created temporary file.
@FILE curl.c @LINE219 >> _pndman_curl_handle_perform
url: http://repo.openpandora.org/client/handshake
@FILE curl.c @LINE225 >> _pndman_curl_handle_perform
POST: stage=1
@FILE curl.c @LINE299 >> _pndman_curl_msg
HTTP/1.1 200 OK
Date: Mon, 19 Aug 2013 06:56:59 GMT
Server: Apache
X-Powered-By: PHP/5.4.4-14+deb7u3
Connection: close
Transfer-Encoding: chunked
Content-Type: application/json


@FILE curl.c @LINE299 >> _pndman_curl_msg
HTTP/1.1 200 OK
Date: Mon, 19 Aug 2013 06:56:59 GMT
Server: Apache
X-Powered-By: PHP/5.4.4-14+deb7u3
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: PHPSESSID=7tl6pu4t2gfak8o34rvb9eaue1; path=/
Connection: close
Transfer-Encoding: chunked
Content-Type: application/json


@FILE curl.c @LINE303 >> _pndman_curl_msg
{"nonce":"1147d25d8dd7"}
@FILE repo_api.c @LINE607 >> _pndman_api_handshake_perform
1147d25d8dd7
@FILE curl.c @LINE200 >> _pndman_curl_handle_perform
CURL REOPEN
@FILE pndman.c @LINE67 >> _pndman_get_tmp_file
Created temporary file.
@FILE curl.c @LINE219 >> _pndman_curl_handle_perform
url: http://repo.openpandora.org/client/handshake
@FILE curl.c @LINE225 >> _pndman_curl_handle_perform
POST: stage=2&cnonce=0a7d1087c6a09a5552ac0805f8ecc16a&user=freamon&hash=063fd8febe14fb8189d42374ef2121a2
@FILE curl.c @LINE299 >> _pndman_curl_msg
HTTP/1.1 200 OK
Date: Mon, 19 Aug 2013 06:57:00 GMT
Server: Apache
X-Powered-By: PHP/5.4.4-14+deb7u3
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Connection: close
Transfer-Encoding: chunked
Content-Type: application/json


@FILE curl.c @LINE303 >> _pndman_curl_msg
{"success":{"number": 1,"text":"Request your action."}}
@FILE repo_api.c @LINE549 >> _pndman_api_handshake_check
Handshake success!
@FILE curl.c @LINE200 >> _pndman_curl_handle_perform
CURL REOPEN
@FILE pndman.c @LINE67 >> _pndman_get_tmp_file
Created temporary file.
@FILE curl.c @LINE219 >> _pndman_curl_handle_perform
url: http://repo.openpandora.org/client/rate
@FILE curl.c @LINE225 >> _pndman_curl_handle_perform
POST: id=package.picodrive.notaz&a=gr
@FILE curl.c @LINE299 >> _pndman_curl_msg
HTTP/1.1 200 OK
Date: Mon, 19 Aug 2013 06:57:01 GMT
Server: Apache
X-Powered-By: PHP/5.4.4-14+deb7u3
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Connection: close
Transfer-Encoding: chunked
Content-Type: application/json


@FILE curl.c @LINE303 >> _pndman_curl_msg
{"error":{"number": 22,"text":"User has not rated this application."}}

... which seems to suggest that I would need to rate an app before it lets me download it(?)

If I remove my username and apikey, I get

Code:
@FILE pndman.c             @LINE67   >> _pndman_get_tmp_file
Created temporary file.
@FILE curl.c               @LINE219  >> _pndman_curl_handle_perform
url: http://repo.openpandora.org/client/masterlist?bzip=true
@FILE curl.c               @LINE299  >> _pndman_curl_msg
HTTP/1.1 200 OK
Date: Mon, 19 Aug 2013 07:04:19 GMT
Server: Apache
X-Powered-By: PHP/5.4.4-14+deb7u3
Cache-Control: public
Etag: 1376875809
Connection: close
Transfer-Encoding: chunked
Content-Type: application/x-bzip2


@FILE curl.c               @LINE303  >> _pndman_curl_msg
BZh41AY&SY

@FILE pndman.c             @LINE67   >> _pndman_get_tmp_file
Created temporary file.
QPndman::Repository::update 
QPndman::Repository::update 
Crawling 
QPndman::Repository::update 
Found 14 new installed packages 
PNDManager::updatePackages 
14 installed packages 
Total 1031 packages 
Searching for icon for pnd  "gpodder.freamon.40n8e" 
PNDManager::getPackageById  "gpodder.freamon.40n8e" 
   Found it! 
@FILE pndman.c             @LINE67   >> _pndman_get_tmp_file
Created temporary file.
@FILE curl.c               @LINE219  >> _pndman_curl_handle_perform
url: http://repo.openpandora.org/client/comment
@FILE curl.c               @LINE225  >> _pndman_curl_handle_perform
POST: id=package.picodrive.notaz&pull=true
@FILE pndman.c             @LINE67   >> _pndman_get_tmp_file
Created temporary file.
@FILE curl.c               @LINE219  >> _pndman_curl_handle_perform
url: http://repo.openpandora.org/client/handshake
@FILE curl.c               @LINE225  >> _pndman_curl_handle_perform
POST: stage=1
@FILE curl.c               @LINE299  >> _pndman_curl_msg
HTTP/1.1 200 OK
Date: Mon, 19 Aug 2013 07:05:00 GMT
Server: Apache
X-Powered-By: PHP/5.4.4-14+deb7u3
Connection: close
Transfer-Encoding: chunked
Content-Type: application/json


@FILE curl.c               @LINE299  >> _pndman_curl_msg
HTTP/1.1 200 OK
Date: Mon, 19 Aug 2013 07:05:00 GMT
Server: Apache
X-Powered-By: PHP/5.4.4-14+deb7u3
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: PHPSESSID=997b6ir7sm2l478slk3r1ko5n5; path=/
Connection: close
Transfer-Encoding: chunked
Content-Type: application/json


@FILE curl.c               @LINE303  >> _pndman_curl_msg
{"nonce":"12e78cd7dcd5"}
@FILE repo_api.c           @LINE607  >> _pndman_api_handshake_perform
12e78cd7dcd5
@FILE curl.c               @LINE200  >> _pndman_curl_handle_perform
CURL REOPEN
@FILE pndman.c             @LINE67   >> _pndman_get_tmp_file
Created temporary file.
@FILE curl.c               @LINE219  >> _pndman_curl_handle_perform
url: http://repo.openpandora.org/client/handshake
@FILE curl.c               @LINE225  >> _pndman_curl_handle_perform
POST: stage=2&cnonce=b412ac63292e81100de4ff797ff3a1aa&user=&hash=b79d0e9db5c01a60caed05425b339581
@FILE curl.c               @LINE299  >> _pndman_curl_msg
HTTP/1.1 200 OK
Date: Mon, 19 Aug 2013 07:05:01 GMT
Server: Apache
X-Powered-By: PHP/5.4.4-14+deb7u3
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Connection: close
Transfer-Encoding: chunked
Content-Type: application/json


@FILE curl.c               @LINE303  >> _pndman_curl_msg
{"error":{"number": 4,"text":"Username not supplied."}}
@FILE repo_api.c           @LINE555  >> _pndman_api_handshake_check
4: Username not supplied.
 
The "user has not rated this application" is printed because PNDManager tries to get your rating to show it on the UI.
 
Just used the last version, was looking the detail of an app and it had 3 comments, went to the comment page, added one, returned to the detail page and it was showing 12 comments... returned to the comment page and there was the same 4 comments repeated for three times
 
Just used the last version, was looking the detail of an app and it had 3 comments, went to the comment page, added one, returned to the detail page and it was showing 12 comments... returned to the comment page and there was the same 4 comments repeated for three times
Can confirm this bug — within a session, comments sometimes appear multiple times, sometimes only once — from earlier versions.
 
Back
Top