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