Picasaweb Plex Plugin


I was right Elan confirm a buggy update of the framework, he restores the last one. I will test my plugin. Perhaps it will resolves some of your issues.

Hi guys,



thanks again for all your support in developing this plugin.



Picasa (along with others) made it into the AppStore today so all future updates will be automatic.



Obviously any issues you find either PM me on the forums or continue to add onto the end of this thread.

There is still issues with special French characters in Album’s name which are making the plugin to crash.

Do you plan to work on it ? Have you a solution or does it required a plugin Framework evolution ?

I can help if needed :slight_smile:

Hi there,



thanks for taking the time to report this to us.



There is likely to be an issue with such characters - but its not entirely specific to the picasa Plugin. There is a version of the plugin framework that we are testing now that addresses this issue for the framework as a whole which should fix the issue for all plugins that run within Plex Media Server.



You can read more about the issue over on the Flickr plugin blog/thread



I’m guessing the error that appears in the plugin log looks something like this ?



UnicodeEncodeError: 'ascii' codec can't encode character u'\u????' in position ??: ordinal not in range(128)



If you can get the error that is appearing in ~/Library/Logs/PMS Plugin Logs/com.plexapp.plugins.picasaweb.log and post it I can take a closer look for you.

Here is the log when I try to see my albums.

[codebox]21:58:51.763709: com.plexapp.plugins.picasaweb : (Framework) Response OK

21:58:53.871704: com.plexapp.plugins.picasaweb : (Framework) Handling request : /photos/Picasaweb/:/function/GetAlbumList/KGRwMApTJ3VzZXInCnAxClMnYmVub2l0cHJheCcKcDIKc1Mnc2VuZGVyJwpwMwooaVBNUy5PYmplY3Rz

Ckl0ZW1JbmZvUmVjb3JkCnA0CihkcDUKUydpdGVtVGl0bGUnCnA2ClZNZXMgQWxidW1zCnA3CnNTJ3Rpd

GxlMScKcDgKUydQaWNhc2EgV2ViIEFsYnVtcycKcDkKc1MndGl0bGUyJwpwMTAKVk1hIEdhbGVyaWUKcD

ExCnNTJ2FydCcKcDEyClMnL3Bob3Rvcy9QaWNhc2F3ZWIvOi9yZXNvdXJjZXMvYXJ0LWRlZmF1bHQucG5

nJwpwMTMKc2JzLg==

21:58:53.872299: com.plexapp.plugins.picasaweb : (Framework) Calling named function ‘GetAlbumList’

21:58:53.872559: com.plexapp.plugins.picasaweb : Getting gdata PhotoService

21:58:53.872766: com.plexapp.plugins.picasaweb : Client authenticating against google as ‘benoitprax’

21:58:55.662594: com.plexapp.plugins.picasaweb : (Framework) Response OK

21:58:55.719882: com.plexapp.plugins.picasaweb : (Framework) An exception happened:

Traceback (most recent call last):

File “/Users/multimedia/Library/Application Support/Plex Media Server/Plug-ins/Framework.bundle/Contents/Resources/Versions/1/Python/PMS/Plugin.py”, line 346, in __run

resultStr = result.Content()

File “/Users/multimedia/Library/Application Support/Plex Media Server/Plug-ins/Framework.bundle/Contents/Resources/Versions/1/Python/PMS/Objects.py”, line 109, in Content

return XML.StringFromElement(self.ToElement())

File “/Users/multimedia/Library/Application Support/Plex Media Server/Plug-ins/Framework.bundle/Contents/Resources/Versions/1/Python/PMS/Objects.py”, line 177, in ToElement

root.append(item.ToElement())

File “/Users/multimedia/Library/Application Support/Plex Media Server/Plug-ins/Framework.bundle/Contents/Resources/Versions/1/Python/PMS/Objects.py”, line 274, in ToElement

return XMLObject.ToElement(self)

File “/Users/multimedia/Library/Application Support/Plex Media Server/Plug-ins/Framework.bundle/Contents/Resources/Versions/1/Python/PMS/Objects.py”, line 105, in ToElement

el.set(key, unicode(self.dict[key]))

UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xc3 in position 23: ordinal not in range(128)[/codebox]



For your info I succeed in displaying the list of my albums with this hack (add .encode(‘utf8’) in ligne 245):


dir.Append(Function(DirectoryItem(GetPhotoList, title=album.title.text.decode('utf-8') + " (" + numphotos + ")", thumb=thumb, summary=GetAlbumSummary(album)), kind="album", albumid=album.gphoto_id.text, albumtitle=album.title.text, user=user))


With this hack, the framework uses decoded unicode strings (instead of classic string) and manages them very well.
Need to add this type of hack evrywhere in the plugin.

I wonder if the framework is planned to be release soon ? If not do you plan to patch the plugin ?

Hi there,



it would be interesting if you could add the following into the plugins init.py



in the imports section at the top



import sys, locale



and at the very start of the plugins Start() method


	reload(sys)<br />
	sys.setdefaultencoding("utf-8")



I think this will solve the problem across the board for the entire plugin. This stops the default codec for types from being ascii and switches the entire process over onto utf-8.

This is similar to the fix we are testing within the framework itself.

OK it works great with your patch. Thanks.



Some little remarks :

  • There are information about the albums : Location, visibility, space used, etc… Do yo know if the google API allows to localize them ?
  • I’ve corrected a translation in the file, see attachment.
  • I don’t succeed in localizing the preferences. See this post
  • Don’t forget to make the plugin name localizable



    Do you know if you will deploy a patch or wait the framework update ?

    Hurry up you can be the first plugin in the AppStore for French speaking users. But there are competitors :rolleyes:

Hi,

Awesome plugin!



Two questions:

  1. Is there a know issue with the “friends albums” feature? It does not seem to give me access to my picasaweb favorites
  2. Is it possible to use this plugin as the plex screensaver?


This option shows 'Linked Galleries' - not the new favorites functionality in picasa - I dont think the picasa API exposes this yet as its a relatively new feature. It seems there are some changes taking place in picasa and fans and favorites seem to be replacing the linked galleries functionality.



Yep - select an option - press 'C' to bring up the context menu and choose recursive slideshow. Obviously you have to start your music playing before but it does the job.

Hope that helps.

I've tested your build.xml file and it works great but I didn't manage to have the other targets option in the project menu. I've just "build project" and "clean". Can you help me. I use the last release of eclipse : Galileo


I'm still on Ganymede.

I have Galileo but I dont have all the plugins installed (just java for now). How are you finding it ? I want to move PyDev and PyAntTaks etc over onto the new version but I also need to be convinced that jgit/egit work etc. I still need to figure out how to make the git plugin place a project into a known local repository. I just need to learn more about git as I mainly use cvs and svn.

I just did this.

Open build.xml by context clicking 'Open with...' > 'Ant Editor'

Make sure you have the Outline view enabled on your workspace ('Window' > 'Show View' > 'Outline'). You should now see all the targets in your build script when you have the ant file selected.

Select the target your want to run and context 'Run As' > 'Ant build'. You can also click on 'Run As' > 'External Tool Configurations' and configure specific actions (i.e if you want to override the default target which is 'build' so the 'deploy' always puts your latest build in the right place for Plex Media Server)

I just cannot seem to get this plugin to fetch my “private” galleries… (yes… I did tickt the box in preferences) - and the preferences file also show the vallue to be “true”… has anyone else tried this… ?!

Hi again,



I just updated my Plex setup this morning including pulling the latest release version of the Picasa plugin from the App store. I know when the plugin went live via the appstore the dev team made some subtle changes to how it works but it shouldnt effect what you are trying to do.



This is what I now see on the prefs pane…




do you see both of the on/off preferences for 'Show My Private Albums' and 'Show summary information on photographs' ? If not - you could try deleting the file that holds the plugin's preferences - this way the plugin will re-create it again next time Plex is started up (you'll obviously have to re-enter your login details etc.)

The file to delete is.


 ~/Library/Application Support/Plex Media Server/Plug-in Support/Preferences/com.plexapp.plugins.picasaweb.xml



Everything seems to be working just fine apart from the 'My Friends' functionality. At the moment this results in the following error


	 09:56:04.931038: com.plexapp.plugins.picasaweb		   :	(Framework) Handling request :   /photos/Picasaweb/:/function/GetFriendList/KGRwMApTJ3VzZXInCnAxClMnaWFuZGdyYXR0b24nCnAyCnNTJ3NlbmRlcicKcDMKY2NvcHlfcmVnCl9y<br />
ZWNvbnN0cnVjdG9yCnA0CihjUE1TLk9iamVjdHMKSXRlbUluZm9SZWNvcmQKcDUKY19fYnVpbHRpbl9fC<br />
m9iamVjdApwNgpOdHA3ClJwOAooZHA5ClMnaXRlbVRpdGxlJwpwMTAKZzQKKGNQTVMuTG9jYWxlCkxvY2<br />
FsU3RyaW5nCnAxMQpjX19idWlsdGluX18Kc3RyCnAxMgpTJ015IEZyaWVuZHMnCnAxMwp0cDE0ClJwMTU<br />
KKGRwMTYKUydrZXknCnAxNwpTJ01ZX0ZSSUVORF9MSVNUX1RJVExFJwpwMTgKc2JzUyd0aXRsZTEnCnAx<br />
OQpTJ1BpY2FzYSBXZWIgQWxidW1zJwpwMjAKc1MndGl0bGUyJwpwMjEKTnNTJ2FydCcKcDIyClMnL3Bob<br />
3Rvcy9QaWNhc2F3ZWIvOi9yZXNvdXJjZXMvYXJ0LWRlZmF1bHQuanBnJwpwMjMKc2JzLg==<br />
	 09:56:04.931683: com.plexapp.plugins.picasaweb		   :   (Framework) Calling named function 'GetFriendList'<br />
	 09:56:04.931900: com.plexapp.plugins.picasaweb		   :   Getting gdata PhotoService<br />
	 09:56:04.932002: com.plexapp.plugins.picasaweb		   :   Authentication not requested for this client<br />
	 09:56:05.505602: com.plexapp.plugins.picasaweb		   :   (Framework) An exception happened:<br />
	 Traceback (most recent call last):<br />
	   File "/Users/idg/Library/Application Support/Plex Media  Server/Plug-ins/Framework.bundle/Contents/Resources/Versions/1/Python/PMS/Plugin.py",  line 602, in __call<br />
		 return function(*args, **kwargs)<br />
	   File "/Users/idg/Library/Application Support/Plex Media  Server/Plug-ins/Picasaweb.bundle/Contents/Code/__init__.py", line 203,  in GetFriendList<br />
		 dir.Append(Function(DirectoryItem(GetFriendItems,  title=contact.nickname.text, thumb=thumb,  summary=L('FRIEND_MENU_SUMMARY') % contact.nickname.text),  user=contact.user.text, nickname=contact.nickname.text))<br />
	 TypeError: not all arguments converted during string formatting



I'll check with the plex team to see if they have made any changes to the plugin framework itself which may be causing the above issue.

Hi Ian…

I do get the same options that you do… however, I cannot get the private albums to show… I have deleted the preferences bit and reinstalled… however, I do not get any success… is there a way you could direct me to the logfile??


Howdy folks,



sorry I’ve not replied for a while. I’ve just written up some findings on the current Flickr Plugin issues. I’m pretty sure Picasa is suffering in pretty much the same.



What appears to be broken right now is:



Viewing Tags - when attempting to view tags the following appears in the plugin’s log file:



	 16:50:56.042229: com.plexapp.plugins.picasaweb		   :   (Framework) Calling named function 'GetTagList'<br />
	 16:50:56.042420: com.plexapp.plugins.picasaweb		   :   Getting gdata PhotoService<br />
	 16:50:56.042526: com.plexapp.plugins.picasaweb		   :   Authentication not requested for this client<br />
	 16:50:57.751046: com.plexapp.plugins.picasaweb		   :   (Framework) An exception happened:<br />
	 Traceback (most recent call last):<br />
	   File "/Users/idg/Library/Application Support/Plex Media Server/Plug-ins/Framework.bundle/Contents/Resources/Versions/1/Python/PMS/Plugin.py", line 602, in __call<br />
		 return function(*args, **kwargs)<br />
	   File "/Users/idg/Library/Application Support/Plex Media Server/Plug-ins/Picasa Web.bundle/Contents/Code/__init__.py", line 300, in GetTagList<br />
		 dir.Append(Function(DirectoryItem(GetPhotoList, title=tag.title.text, thumb=thumb, summary=L('ACTION_VIEW_TAG_SUMMARY') % (tag.title.text)), kind="tag", tag=tag.title.text, user=user))<br />
	 TypeError: not all arguments converted during string formatting<br />
	 16:50:57.751199: com.plexapp.plugins.picasaweb		   :   (Framework) Request not handled by plug-in



And also when attempting to browse 'My Friends' - you see the following in the plugin's log:


 16:52:45.223797: com.plexapp.plugins.picasaweb		   :   (Framework) Calling named function 'GetFriendList'<br />
 16:52:45.224056: com.plexapp.plugins.picasaweb		   :   Getting gdata PhotoService<br />
 16:52:45.224156: com.plexapp.plugins.picasaweb		   :   Authentication not requested for this client<br />
 16:52:45.729994: com.plexapp.plugins.picasaweb		   :   (Framework) An exception happened:<br />
 Traceback (most recent call last):<br />
   File "/Users/idg/Library/Application Support/Plex Media Server/Plug-ins/Framework.bundle/Contents/Resources/Versions/1/Python/PMS/Plugin.py", line 602, in __call<br />
	 return function(*args, **kwargs)<br />
   File "/Users/idg/Library/Application Support/Plex Media Server/Plug-ins/Picasa Web.bundle/Contents/Code/__init__.py", line 202, in GetFriendList<br />
	 dir.Append(Function(DirectoryItem(GetFriendItems, title=contact.nickname.text, thumb=thumb, summary=L('FRIEND_MENU_SUMMARY') % contact.nickname.text), user=contact.user.text, nickname=contact.nickname.text))<br />
 TypeError: not all arguments converted during string formatting<br />
 16:52:45.730200: com.plexapp.plugins.picasaweb		   :   (Framework) Request not handled by plug-in



So based upon the above both calls fail on line 602 of the framework and as with the Flickr plugin we get **TypeError - not all arguments converted during string formatting**.

Anyone have any ideas what could be happening here ?

Any updates??

I’m running Plex 0.8.5 on Snow Leopard 10.6.2 and I have downloaded the Picasa Web plugin from the App Store. Installation was successful and it shows in my Pictures section. When I click on it, nothing happens. I have tried with and without credentials but still it doesn’t work.



These are the errors I can see on the logs



18:39:20 T:2696951040 M:607182848 WARNING: CUtil::GetMatchingSource… no matching source found for [Picasa Web Albums]

18:40:19 T:2696951040 M:581238784 ERROR: GetDirectory - Unhandled exception

18:40:19 T:2696951040 M:581238784 ERROR: GetDirectory - Error getting plex://localhost/photos/Picasaweb/

18:40:19 T:2696951040 M:581238784 ERROR: CGUIMediaWindow::GetDirectory(plex://localhost/photos/Picasaweb/) failed

18:40:36 T:2696951040 M:577466368 NOTICE: Storing total System Uptime

18:40:36 T:2696951040 M:577466368 NOTICE: Saving settings

18:40:36 T:2696951040 M:577421312 NOTICE: stop all

18:40:36 T:2696951040 M:577421312 NOTICE: Webserver: Stopping…

18:40:36 T:2696951040 M:577396736 NOTICE: Webserver: Stopped…

18:40:36 T:2696951040 M:577396736 NOTICE: ES: Stopping event server

18:40:37 T:2959282176 M:577355776 NOTICE: ES: UDP Event server stopped

18:40:37 T:2696951040 M:577409024 NOTICE: stop dvd detect media

18:40:37 T:2696951040 M:577417216 NOTICE: clean cached files!

18:40:37 T:2696951040 M:577417216 NOTICE: unload skin

18:40:37 T:2696951040 M:605962240 NOTICE: Asking PlexHelper to stop.

18:40:37 T:2696951040 M:605962240 NOTICE: Asking Plex Media Server.app to stop.

18:40:37 T:2696951040 M:605962240 NOTICE: stop python

18:40:37 T:2696951040 M:605962240 NOTICE: stopped

18:40:37 T:2696951040 M:605962240 NOTICE: destroy

18:40:37 T:2696951040 M:606556160 NOTICE: unload sections

18:40:37 T:2696951040 M:606785536 NOTICE: performance statistics

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.