The branch, dharma-pre has been updated
       via  f3f5206e6b97ca84a9f9593ca4a8e971ea173b3e (commit)
       via  93d4823de9b612b2ec42ba166642600b14be335e (commit)
      from  43a3fb768a038d471d738b8dae93855146f3effb (commit)

- Log -----------------------------------------------------------------
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=f3f5206e6b97ca84a9f9593ca4a8e971ea173b3e

commit f3f5206e6b97ca84a9f9593ca4a8e971ea173b3e
Author: spiff <[email protected]>
Date:   Tue Oct 26 10:05:44 2010 +0200

    [plugin.image.picasa] updated to version 0.8.5

diff --git a/plugin.image.picasa/addon.py b/plugin.image.picasa/addon.py
index 60b2729..0cfbb36 100644
--- a/plugin.image.picasa/addon.py
+++ b/plugin.image.picasa/addon.py
@@ -42,6 +42,10 @@ class AddonHelper:
                self._urllib2 = urllib2
                return urllib2
                
+       def setSetting(self,settingname,setting):
+               if not self.__settings__: self.__settings__ = 
self.xbmcaddon().Addon(id=self._pluginID)
+               self.__settings__.setSetting(settingname,setting)
+               
        def getSetting(self,setting):
                if self.__settings__: return 
self.__settings__.getSetting(setting)
                self.__settings__ = self.xbmcaddon().Addon(id=self._pluginID)
@@ -105,10 +109,11 @@ class AddonHelper:
                if contextMenu: liz.addContextMenuItems(contextMenu)
                return 
self.xbmcplugin().addDirectoryItem(handle=int(sys.argv[1]),url=url,listitem=liz,isFolder=False,totalItems=total)
 
-       def addDir(self,_name,_thumbnail='',_total=0,**kwargs):
+       def addDir(self,_name,_thumbnail='',_total=0,contextMenu=None,**kwargs):
                u=sys.argv[0]+"?"+urllib.urlencode(kwargs)
                
liz=self.xbmcgui().ListItem(_name,'',iconImage="DefaultFolder.png", 
thumbnailImage=_thumbnail)
                liz.setInfo(type="image", infoLabels={"Title": _name} )
+               if contextMenu: liz.addContextMenuItems(contextMenu)
                return 
self.xbmcplugin().addDirectoryItem(handle=int(sys.argv[1]),url=u,listitem=liz,isFolder=True,totalItems=_total)
                
        def 
endOfDirectory(self,succeeded=True,updateListing=False,cacheToDisc=True):
diff --git a/plugin.image.picasa/addon.xml b/plugin.image.picasa/addon.xml
index 1ae01ee..f1a9d74 100644
--- a/plugin.image.picasa/addon.xml
+++ b/plugin.image.picasa/addon.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <addon id="plugin.image.picasa"
        name="Picasa"
-       version="0.8.2"
+       version="0.8.5"
        provider-name="Rick Phillips (ruuk)">
   <requires>
     <import addon="xbmc.python" version="1.0"/>
diff --git a/plugin.image.picasa/changelog.txt 
b/plugin.image.picasa/changelog.txt
index eeb5abe..36451de 100644
--- a/plugin.image.picasa/changelog.txt
+++ b/plugin.image.picasa/changelog.txt
@@ -1,10 +1,23 @@
 picasaPhotos Changelog
 
-Current Version : 0.8.2
+Current Version : 0.8.5
+
+*** 0.8.5 ***
+
+Added 'Use Login' setting to enable/disable logins (Allows just browsing 
public photos and works around Windows SSL bug)
+
+*** 0.8.4 ***
+
+Added the ability to set view defaults from context menu
+
+*** 0.8.3 ***
+
+Added ability to filter by privacy level
 
 *** 0.8.2 ***
 
 Fixed bug when fetching contacts images
+Added Dutch language strings thaks to Michel de Bokx
 
 *** 0.8.1 ***
 
diff --git a/plugin.image.picasa/default.py b/plugin.image.picasa/default.py
index 86820ab..c5db90f 100644
--- a/plugin.image.picasa/default.py
+++ b/plugin.image.picasa/default.py
@@ -5,13 +5,31 @@ from addon import AddonHelper
 __plugin__ =  'picasa'
 __author__ = 'ruuk'
 __url__ = 'http://code.google.com/p/picasaphotos-xbmc/'
-__date__ = '10-19-2010'
-__version__ = '0.8.2'
-               
+__date__ = '10-25-2010'
+__version__ = '0.8.5'
+
+#xbmc.executebuiltin("Container.SetViewMode(500)")
+
+#protected = private
+#private = anyone with link
+#public = public
+
+#import xbmc
+#print xbmc.getInfoLabel('Skin.CurrentTheme ')
+#print xbmc.getSkinDir()
+#print 'TES: ' + xbmc.getInfoLabel('Window(Pictures).Property(Viewmode)')
+
 class picasaPhotosSession(AddonHelper):
        def __init__(self):
                AddonHelper.__init__(self,'plugin.image.picasa')
                self._api = None
+               self.pfilter = None
+               self.privacy_levels = ['public','private','protected']
+               
+               if self.getSetting('use_login') == 'true':
+                       self.user = 'default'
+               else:
+                       self.user = self.getSetting('login_email').split('@')[0]
                
                cache_path = self.dataPath('cache')
                if not os.path.exists(cache_path): os.makedirs(cache_path)
@@ -25,7 +43,7 @@ class picasaPhotosSession(AddonHelper):
                success = self.go(      self.getParamInt('mode',None),
                                                        
self.getParamString('url',None),
                                                        
self.getParamString('name',None),
-                                                       
self.getParamString('user','default',no_unquote=True))
+                                                       
self.getParamString('user',self.user,no_unquote=True))
                
                if self.getParamInt('start_index',None): update_dir = True
                
self.endOfDirectory(succeeded=success,updateListing=update_dir,cacheToDisc=cache)
@@ -121,8 +139,9 @@ class picasaPhotosSession(AddonHelper):
                        success = self.process(mode,url,name,user,terms)
                        #print 'NO_LOGIN ' + str(mode)
                except: #TODO more discriminating except clause
-                       print 'FACEBOOKPHOTOS: LOGIN ' + str(mode)
-                       if not self.login(): return False #only login if we 
have to
+                       if self.user == 'default':
+                               print 'PHOTOS: LOGIN ' + str(mode)
+                               if not self.login(): return False #only login 
if we have to
                        success = self.process(mode,url,name,user,terms)
                return success
                                
@@ -147,6 +166,13 @@ class picasaPhotosSession(AddonHelper):
                        self.CONTACT(url,name)
                return True
        
+       def filterAllows(self,privacy):
+               if not self.pfilter: self.pfilter = 
self.getSettingInt('privacy_filter')
+               if not privacy in self.privacy_levels: return False
+               level = self.privacy_levels.index(privacy)
+               if level <= self.pfilter: return True
+               return False
+               
        def getSearchTerms(self):
                keyboard = self.xbmc().Keyboard('',self.lang(30404))
                keyboard.doModal()
@@ -160,10 +186,12 @@ class picasaPhotosSession(AddonHelper):
                return "type=%s&source=%s&zoom=%s" % (mtype,msource,mzoom)
                
        def addPhotos(self,photos,mode=None,**kwargs):
+               self.setViewMode('viewmode_photos')
+               
                total = int(photos.total_results.text)
                start = int(photos.start_index.text)
                per_page = int(photos.items_per_page.text)
-               url = self.getParamString('url','default')
+               url = self.getParamString('url',self.user)
                
                ## Previous Page ------------------------#
                if start > 1:
@@ -175,11 +203,13 @@ class picasaPhotosSession(AddonHelper):
                mparams = self.getMapParams()
                
                for p in photos.entry:
+                       if not self.filterAllows(p.extension_elements[0].text): 
continue
                        contextMenu = None
                        lat_lon = p.geo.Point.pos.text
                        if lat_lon:
                                lat_lon = ','.join(lat_lon.split())
-                               contextMenu = 
[(self.lang(30405),'XBMC.RunScript(special://home/addons/plugin.image.picasa/maps.py,plugin.image.picasa,%s,%s)'
 % (lat_lon,mparams))]
+                               contextMenu = [ 
(self.lang(30405),'XBMC.RunScript(special://home/addons/plugin.image.picasa/maps.py,plugin.image.picasa,%s,%s)'
 % (lat_lon,mparams)),
+                                                               
(self.lang(30406) % 
self.lang(30407),'XBMC.RunScript(special://home/addons/plugin.image.picasa/default.py,viewmode,viewmode_photos)')]
                        if not 
self.addLink(p.title.text,p.content.src,p.media.thumbnail[2].url,total=total,contextMenu=contextMenu):
 break
                        
                ## Next     Page ------------------------#
@@ -199,31 +229,45 @@ class picasaPhotosSession(AddonHelper):
                next_index = start + per_page
                self.addDir(next+' 
->',self.addonPath('resources/images/next.png'),url=url,mode=mode,start_index=next_index,**kwargs)
                ##---------------------------------------#
-       
+               
+       def setViewMode(self,setting):
+               mode = self.getSetting(setting)
+               if mode: self.xbmc().executebuiltin("Container.SetViewMode(%s)" 
% mode)
+               
        def CATEGORIES(self):
-               
self.addDir(self.lang(30100),url='default',mode=1,_thumbnail=self.addonPath('resources/images/albums.png'))
-               
self.addDir(self.lang(30101),url='default',mode=2,_thumbnail=self.addonPath('resources/images/tags.png'))
-               
self.addDir(self.lang(30102),url='default',mode=3,_thumbnail=self.addonPath('resources/images/contacts.png'))
-               
self.addDir(self.lang(30103),url='default',mode=4,_thumbnail=self.addonPath('resources/images/search.png'))
+               if self.user: 
self.addDir(self.lang(30100),url=self.user,mode=1,_thumbnail=self.addonPath('resources/images/albums.png'))
+               if self.user: 
self.addDir(self.lang(30101),url=self.user,mode=2,_thumbnail=self.addonPath('resources/images/tags.png'))
+               if self.user: 
self.addDir(self.lang(30102),url=self.user,mode=3,_thumbnail=self.addonPath('resources/images/contacts.png'))
+               if self.user: 
self.addDir(self.lang(30103),url=self.user,mode=4,_thumbnail=self.addonPath('resources/images/search.png'))
                
self.addDir(self.lang(30104),url='default',mode=5,_thumbnail=self.addonPath('resources/images/search_picasa.png'))
                
        def ALBUMS(self,user='default'):
+               self.setViewMode('viewmode_albums')
+               
                albums = 
self.api().GetFeed('/data/feed/api/user/%s?kind=album&thumbsize=256c' % (user))
                #albums = self.api().GetUserFeed(user=user)
                tot = int(albums.total_results.text)
+               cm = [(self.lang(30406) % 
self.lang(30100),'XBMC.RunScript(special://home/addons/plugin.image.picasa/default.py,viewmode,viewmode_albums)')]
                for album in albums.entry:
+                       if not self.filterAllows(album.access.text): continue
                        title = album.title.text + ' (' + album.numphotos.text 
+ ')'
-                       if not 
self.addDir(title,album.media.thumbnail[0].url,tot,url=album.gphoto_id.text,mode=101,user=user):
 break
+                       if not 
self.addDir(title,album.media.thumbnail[0].url,tot,contextMenu=cm,url=album.gphoto_id.text,mode=101,user=user):
 break
                        
        def TAGS(self,user='default'):
+               self.setViewMode('viewmode_tags')
+               
                tags = self.api().GetFeed('/data/feed/api/user/%s?kind=tag' % 
user)
                tot = int(tags.total_results.text)
+               cm = [(self.lang(30406) % 
self.lang(30101),'XBMC.RunScript(special://home/addons/plugin.image.picasa/default.py,viewmode,viewmode_tags)')]
                for t in tags.entry:
-                       if not 
self.addDir(t.title.text,'',tot,url=t.title.text,mode=102,user=user): break
+                       if not 
self.addDir(t.title.text,'',tot,contextMenu=cm,url=t.title.text,mode=102,user=user):
 break
                        
        def CONTACTS(self,user='default'):
+               self.setViewMode('viewmode_favorites')
+               
                contacts = 
self.api().GetFeed('/data/feed/api/user/%s/contacts?kind=user' % (user))
                tot = int(contacts.total_results.text)
+               cm = [(self.lang(30406) % 
self.lang(30102),'XBMC.RunScript(special://home/addons/plugin.image.picasa/default.py,viewmode,viewmode_favorites)')]
                for c in contacts.entry:
                        tn = self.dataPath('cache/' + c.user.text + '.jpg')
                        if not os.path.exists(tn):
@@ -233,7 +277,7 @@ class picasaPhotosSession(AddonHelper):
                                        tn = c.thumbnail.text
                        #tn = c.thumbnail.text
                        #tn = 
tn.replace('s64-c','s256-c').replace('?sz=64','?sz=256')
-                       if not 
self.addDir(c.nickname.text,tn,tot,url=c.user.text,mode=103,name=c.nickname.text):
 break
+                       if not 
self.addDir(c.nickname.text,tn,tot,contextMenu=cm,url=c.user.text,mode=103,name=c.nickname.text):
 break
                        
        def SEARCH_USER(self,user='default',terms=''):
                if not terms: return False
@@ -252,6 +296,8 @@ class picasaPhotosSession(AddonHelper):
                return True
                                
        def CONTACT(self,user,name):
+               self.setViewMode('viewmode_contact')
+
                #fix for names ending in 
                if name[-1].lower() == 's':
                        albums = self.lang(30200).replace("@REPLACE@'s",name + 
"'").replace('@REPLACE@',name)
@@ -264,10 +310,11 @@ class picasaPhotosSession(AddonHelper):
                        favs = self.lang(30202).replace('@REPLACE@',name)
                        search = self.lang(30203).replace('@REPLACE@',name)
                        
-               
self.addDir(albums,self.addonPath('resources/images/albums.png'),url=user,mode=1)
-               
self.addDir(tags,self.addonPath('resources/images/tags.png'),url=user,mode=2)
-               
self.addDir(favs,self.addonPath('resources/images/contacts.png'),url=user,mode=3)
-               
self.addDir(search,self.addonPath('resources/images/search.png'),url=user,mode=4)
+               cm = [(self.lang(30406) % 
self.lang(30408),'XBMC.RunScript(special://home/addons/plugin.image.picasa/default.py,viewmode,viewmode_contact)')]
+               
self.addDir(albums,self.addonPath('resources/images/albums.png'),contextMenu=cm,url=user,mode=1)
+               
self.addDir(tags,self.addonPath('resources/images/tags.png'),contextMenu=cm,url=user,mode=2)
+               
self.addDir(favs,self.addonPath('resources/images/contacts.png'),contextMenu=cm,url=user,mode=3)
+               
self.addDir(search,self.addonPath('resources/images/search.png'),contextMenu=cm,url=user,mode=4)
        
        def TAG(self,tag,user='default'):
                start = self.getParamInt('start_index',1)
@@ -280,8 +327,25 @@ class picasaPhotosSession(AddonHelper):
                uri = '/data/feed/api/user/%s/albumid/%s?kind=photo' % 
(user,aid)
                photos = 
self.api().GetFeed(uri,limit=self.max_per_page,start_index=start)
                self.addPhotos(photos,mode=101,user=user)
-        
+               
+def setViewDefault():
+       import xbmc
+       setting = sys.argv[2]
+       view_mode = ""
+       print "test"
+       for id in range( 50, 59 ) + range(500,600):
+               try:
+                       if xbmc.getCondVisibility( "Control.IsVisible(%i)" % id 
):
+                               view_mode = repr( id )
+                               break
+               except:
+                       pass
+       if not view_mode: return
+       print "ViewMode: " + view_mode
+       AddonHelper('plugin.image.picasa').setSetting(setting,view_mode)
+      
+if sys.argv[1] == 'viewmode':
+       setViewDefault()
+else:
+       picasaPhotosSession()
        
-picasaPhotosSession()
-
-
diff --git a/plugin.image.picasa/maps.py b/plugin.image.picasa/maps.py
index 40b39e8..bfd3107 100644
--- a/plugin.image.picasa/maps.py
+++ b/plugin.image.picasa/maps.py
@@ -99,5 +99,5 @@ def clearDirFiles(filepath):
 
 CACHE_PATH = xbmc.translatePath('special://profile/addon_data/%s/maps/' % 
(sys.argv[1]))
 if not os.path.exists(CACHE_PATH): os.makedirs(CACHE_PATH)
-               
+
 Maps().doMap()
\ No newline at end of file
diff --git a/plugin.image.picasa/resources/language/English/strings.xml 
b/plugin.image.picasa/resources/language/English/strings.xml
index c2ec880..6311921 100644
--- a/plugin.image.picasa/resources/language/English/strings.xml
+++ b/plugin.image.picasa/resources/language/English/strings.xml
@@ -7,6 +7,13 @@
     <string id="30004">Map Source</string>
     <string id="30005">Map Type</string>
     <string id="30006">Map Zoom</string>
+    <string id="30007">Show only as private as...</string>
+    
+    <string id="30008">Public</string>
+    <string id="30009">Anyone With Link</string>
+    <string id="30010">Private</string>
+    
+    <string id="30011">Use Login</string>
     
     <string id="30100">Albums</string>
     <string id="30101">Tags</string>
@@ -31,4 +38,8 @@
     
     <string id="30404">Enter Search Terms</string>
     <string id="30405">Show Map</string>
+    <string id="30406">Set view as default for %s</string><!-- %s must remain 
in translation but can be moved -->
+    <string id="30407">Photos</string>
+    <string id="30408">User</string>
+    
 </strings>
diff --git a/plugin.image.picasa/resources/settings.xml 
b/plugin.image.picasa/resources/settings.xml
index b92fb39..97b4352 100644
--- a/plugin.image.picasa/resources/settings.xml
+++ b/plugin.image.picasa/resources/settings.xml
@@ -2,10 +2,13 @@
 <settings>
   <!-- General -->
   <category label="30000">
+    <setting id="use_login" type="bool" label="30011" default="false"/>
     <setting id="login_email" type="text" label="30001"/>
-    <setting id="login_pass" type="text" option="hidden" label="30002"/>
+    <setting id="login_pass" type="text" option="hidden" label="30002" 
enable="eq(-2,true)"/>
     <setting id="max_per_page" type="enum" label="30003" 
values="10|20|30|40|50|75|100|200|500|1000" default="6" />
     <setting id="default_map_source" type="enum" label="30004" 
values="Google|Yahoo|Open Street Map" default="0" />
     <setting id="default_map_type" type="enum" label="30005" 
values="Hybrid|Satellite|Terrain|Roadmap" default="0" />
-       <setting id="map_zoom" type="enum" label="30006" 
values="0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21" default="15" 
/>  </category>
+    <setting id="map_zoom" type="enum" label="30006" 
values="0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21" default="15" />
+    <setting id="privacy_filter" type="enum" label="30007" 
lvalues="30008|30009|30010" default="2" />
+  </category>
 </settings>
\ No newline at end of file

http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=93d4823de9b612b2ec42ba166642600b14be335e

commit 93d4823de9b612b2ec42ba166642600b14be335e
Author: spiff <[email protected]>
Date:   Tue Oct 26 10:03:35 2010 +0200

    [plugin.audio.luisterpaal] updated to version 1.1.2

diff --git a/plugin.audio.luisterpaal/addon.xml 
b/plugin.audio.luisterpaal/addon.xml
index 7bede2a..5713099 100644
--- a/plugin.audio.luisterpaal/addon.xml
+++ b/plugin.audio.luisterpaal/addon.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <addon id="plugin.audio.luisterpaal"
        name="3voor12 Luisterpaal"
-       version="1.1.1"
+       version="1.1.2"
        provider-name="Mart">
   <requires>
     <import addon="xbmc.python" version="1.0"/>
diff --git a/plugin.audio.luisterpaal/changelog.txt 
b/plugin.audio.luisterpaal/changelog.txt
index f7058ba..7315c84 100644
--- a/plugin.audio.luisterpaal/changelog.txt
+++ b/plugin.audio.luisterpaal/changelog.txt
@@ -1,3 +1,6 @@
+v1.1.2
+- Changed icon to meet new guidelines
+
 v1.1.1
 - Added/changed English/Dutch/Hungarian translation
 
diff --git a/plugin.audio.luisterpaal/default.py 
b/plugin.audio.luisterpaal/default.py
index eaa31d4..a023458 100644
--- a/plugin.audio.luisterpaal/default.py
+++ b/plugin.audio.luisterpaal/default.py
@@ -21,6 +21,8 @@
 
 import urllib,urllib2,re,xbmcplugin,xbmcgui,httplib,htmllib
 
+PLUGIN              ='plugin.audio.luisterpaal'
+VERSION             ='1.1.2'
 TRACK_SEPERATOR     ='~'
 DEFAULT_LUISTERPAAL ='10617791'
 USER_AGENT          ='Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; 
rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3'
diff --git a/plugin.audio.luisterpaal/icon.png 
b/plugin.audio.luisterpaal/icon.png
index 30a7c48..b7a7623 100644
Binary files a/plugin.audio.luisterpaal/icon.png and 
b/plugin.audio.luisterpaal/icon.png differ

-----------------------------------------------------------------------

Summary of changes:
 plugin.audio.luisterpaal/addon.xml                 |    2 +-
 plugin.audio.luisterpaal/changelog.txt             |    3 +
 plugin.audio.luisterpaal/default.py                |    2 +
 plugin.audio.luisterpaal/icon.png                  |  Bin 140085 -> 68493 bytes
 plugin.image.picasa/addon.py                       |    7 +-
 plugin.image.picasa/addon.xml                      |    2 +-
 plugin.image.picasa/changelog.txt                  |   15 +++-
 plugin.image.picasa/default.py                     |  112 +++++++++++++++----
 plugin.image.picasa/maps.py                        |    2 +-
 .../resources/language/English/strings.xml         |   11 ++
 plugin.image.picasa/resources/settings.xml         |    7 +-
 11 files changed, 132 insertions(+), 31 deletions(-)


hooks/post-receive
-- 
Plugins

------------------------------------------------------------------------------
Nokia and AT&T present the 2010 Calling All Innovators-North America contest
Create new apps & games for the Nokia N8 for consumers in  U.S. and Canada
$10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing
Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store 
http://p.sf.net/sfu/nokia-dev2dev
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons

Reply via email to