The branch, frodo has been updated
via 6b64ed8f2afb08f79969e9c7ec7a449dd9c11bf7 (commit)
from aae17cf9811e0d9256b2458d562f6789fdb4ef5d (commit)
- Log -----------------------------------------------------------------
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/scripts;a=commit;h=6b64ed8f2afb08f79969e9c7ec7a449dd9c11bf7
commit 6b64ed8f2afb08f79969e9c7ec7a449dd9c11bf7
Author: Martijn Kaijser <[email protected]>
Date: Tue Nov 12 12:48:14 2013 +0100
[script.categories] 2.1.0
diff --git a/script.categories/addon.xml b/script.categories/addon.xml
index eab87c4..dc67555 100644
--- a/script.categories/addon.xml
+++ b/script.categories/addon.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<addon id="script.categories" name="- Categories" version="2.0.9"
provider-name="AddonScriptorDE">
+<addon id="script.categories" name="Categories" version="2.1.0"
provider-name="AddonScriptorDE">
<requires>
<import addon="xbmc.python" version="2.1.0"/>
</requires>
@@ -13,9 +13,10 @@
<summary lang="de">Video/Audio/Image Add-ons per Kontextmenü zu
Kategorien hinzufügen</summary>
<description lang="en">Add your Video/Audio/Image add-ons to categories
(via context menu)</description>
<description lang="de">Video/Audio/Image Add-ons per Kontextmenü zu
Kategorien hinzufügen</description>
- <website></website>
+ <license>GNU GENERAL PUBLIC LICENSE. Version 2, June 1991</license>
<source>https://github.com/AddonScriptorDE/script.categories</source>
<forum>http://forum.xbmc.org/showthread.php?tid=154668</forum>
<email>AddonScriptorDE at yahoo dot de</email>
+ <website></website>
</extension>
</addon>
diff --git a/script.categories/changelog.txt b/script.categories/changelog.txt
index 905a0e9..3645761 100644
--- a/script.categories/changelog.txt
+++ b/script.categories/changelog.txt
@@ -25,3 +25,7 @@
- Added setting for notifications
1.0.9 / 2.0.9
- Fixed not working add-ons
+2.1.0
+- New icon (thx@djtoll)
+- Changed name to "Categories"
+- Changed content type to "addons"
diff --git a/script.categories/default.py b/script.categories/default.py
index 5f2bdd0..951a186 100644
--- a/script.categories/default.py
+++ b/script.categories/default.py
@@ -1,21 +1,23 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
-import xbmc, xbmcgui, xbmcplugin, xbmcaddon, locale, sys, urllib, urllib2, re,
os
+import xbmc, xbmcgui, xbmcplugin, xbmcaddon, locale, sys, re, os, urllib,
urllib2
-addonID = "script.categories"
+addon = xbmcaddon.Addon()
pluginhandle = int(sys.argv[1])
+addonID = addon.getAddonInfo('id')
addon_work_folder=xbmc.translatePath("special://profile/addon_data/"+addonID)
+thumbDir=xbmc.translatePath("special://profile/addon_data/"+addonID+"/thumbs")
addonsFolder=xbmc.translatePath('special://home/addons/')
catsFile=xbmc.translatePath(addon_work_folder+'/categories.list')
-addon = xbmcaddon.Addon(id=addonID)
translation = addon.getLocalizedString
-forceViewMode=addon.getSetting("forceView")
-viewMode=str(addon.getSetting("viewMode"))
+forceViewMode=addon.getSetting("forceView")=="true"
+viewMode2=str(addon.getSetting("viewMode2"))
catCount=addon.getSetting("catCount")
-versionInTitle=str(addon.getSetting("versionInTitle"))
showMessages=str(addon.getSetting("showMessages"))
if not os.path.isdir(addon_work_folder):
os.mkdir(addon_work_folder)
+if not os.path.isdir(thumbDir):
+ os.mkdir(thumbDir)
def indexMain():
dialog = xbmcgui.Dialog()
@@ -36,7 +38,10 @@ def index():
allTitle=translation(30001)+" ("+str(allCount)+")"
else:
allTitle=translation(30001)
- addDir(allTitle, "all", "listCat", "")
+ thumb = ""
+ if os.path.exists(os.path.join(thumbDir, translation(30001)+".png")):
+ thumb = os.path.join(thumbDir, translation(30001)+".png")
+ addDir(allTitle, "all", "listCat", thumb)
cats = []
if os.path.exists(catsFile):
json_result = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "method":
"Addons.GetAddons", "params": {"content": "'+contentType+'"}, "id": 1}' )
@@ -70,10 +75,11 @@ def index():
catTitle=cat+" ("+str(catsCount)+")"
else:
catTitle=cat
- addRDir(catTitle, cat, "listCat", "")
+ thumb = ""
+ if os.path.exists(os.path.join(thumbDir, cat+".png")):
+ thumb = os.path.join(thumbDir, cat+".png")
+ addRDir(catTitle, cat, "listCat", thumb)
xbmcplugin.endOfDirectory(pluginhandle)
- if forceViewMode=="true":
- xbmc.executebuiltin('Container.SetViewMode('+viewMode+')')
def getAllCount():
json_result = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "method":
"Addons.GetAddons", "params": {"content": "'+contentType+'"}, "id": 1}' )
@@ -111,6 +117,7 @@ def getCatCount(category):
return count
def listCat(cat):
+ xbmcplugin.setContent(pluginhandle, "addons")
xbmcplugin.addSortMethod(pluginhandle, xbmcplugin.SORT_METHOD_LABEL)
addons = os.listdir(addonsFolder)
json_result = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "method":
"Addons.GetAddons", "params": {"content": "'+contentType+'"}, "id": 1}' )
@@ -122,12 +129,8 @@ def listCat(cat):
try:
currentAddon = xbmcaddon.Addon(id=a)
addonUrl = getAddonUrl(a,types)
- if versionInTitle=="true":
- title = currentAddon.getAddonInfo('name')+"
("+currentAddon.getAddonInfo('version')+")"
- else:
- title = currentAddon.getAddonInfo('name')
- desc = "Version: "+currentAddon.getAddonInfo('version')+"
("+currentAddon.getAddonInfo('author')+")\n"+currentAddon.getAddonInfo('description')
-
addAddonDir(title,addonUrl,currentAddon.getAddonInfo('icon'),desc,contentType,a)
+ title = currentAddon.getAddonInfo('name')
+
addAddonDir(title,addonUrl,currentAddon.getAddonInfo('icon'),currentAddon.getAddonInfo('description'),contentType,a,currentAddon.getAddonInfo('author'),currentAddon.getAddonInfo('version'))
except:
pass
else:
@@ -141,12 +144,8 @@ def listCat(cat):
try:
currentAddon = xbmcaddon.Addon(id=a)
addonUrl = getAddonUrl(a,types)
- if versionInTitle=="true":
- title = currentAddon.getAddonInfo('name')+"
("+currentAddon.getAddonInfo('version')+")"
- else:
- title = currentAddon.getAddonInfo('name')
- desc = "Version: "+currentAddon.getAddonInfo('version')+"
("+currentAddon.getAddonInfo('author')+")\n"+currentAddon.getAddonInfo('description')
-
addAddonRDir(title,addonUrl,currentAddon.getAddonInfo('icon'),cat,desc,a)
+ title = currentAddon.getAddonInfo('name')
+
addAddonRDir(title,addonUrl,currentAddon.getAddonInfo('icon'),cat,currentAddon.getAddonInfo('description'),a,currentAddon.getAddonInfo('author'),currentAddon.getAddonInfo('version'))
except:
pass
@@ -159,12 +158,8 @@ def listCat(cat):
types = getTypes(addonid)
addonUrl = getAddonUrl(addonid,types)
currentAddon = xbmcaddon.Addon(id=addonid)
- if versionInTitle=="true":
- title = currentAddon.getAddonInfo('name')+"
("+currentAddon.getAddonInfo('version')+")"
- else:
- title = currentAddon.getAddonInfo('name')
- desc = "Version: "+currentAddon.getAddonInfo('version')+"
("+currentAddon.getAddonInfo('author')+")\n"+currentAddon.getAddonInfo('description')
-
addAddonDir(title,addonUrl,currentAddon.getAddonInfo('icon'),desc,contentType,addonid)
+ title = currentAddon.getAddonInfo('name')
+
addAddonDir(title,addonUrl,currentAddon.getAddonInfo('icon'),currentAddon.getAddonInfo('description'),contentType,addonid,currentAddon.getAddonInfo('author'),currentAddon.getAddonInfo('version'))
except:
pass
else:
@@ -179,17 +174,13 @@ def listCat(cat):
types = getTypes(addonid)
addonUrl = getAddonUrl(addonid,types)
currentAddon = xbmcaddon.Addon(id=addonid)
- if versionInTitle=="true":
- title = currentAddon.getAddonInfo('name')+"
("+currentAddon.getAddonInfo('version')+")"
- else:
- title = currentAddon.getAddonInfo('name')
- desc = "Version:
"+currentAddon.getAddonInfo('version')+"
("+currentAddon.getAddonInfo('author')+")\n"+currentAddon.getAddonInfo('description')
-
addAddonRDir(title,addonUrl,currentAddon.getAddonInfo('icon'),cat,desc,addonid)
+ title = currentAddon.getAddonInfo('name')
+
addAddonRDir(title,addonUrl,currentAddon.getAddonInfo('icon'),cat,currentAddon.getAddonInfo('description'),addonid,currentAddon.getAddonInfo('author'),currentAddon.getAddonInfo('version'))
except:
pass
xbmcplugin.endOfDirectory(pluginhandle)
- if forceViewMode=="true":
- xbmc.executebuiltin('Container.SetViewMode('+viewMode+')')
+ if forceViewMode:
+ xbmc.executebuiltin('Container.SetViewMode('+viewMode2+')')
def getTypes(addonId):
path =
xbmc.translatePath('special://home/addons/'+addonId+'/addon.xml')
@@ -312,7 +303,6 @@ def renameCat(args):
xbmc.executebuiltin("Container.Refresh")
def parameters_string_to_dict(parameters):
- ''' Convert parameters encoded in a URL to a dict. '''
paramDict = {}
if parameters:
paramPairs = parameters[1:].split("&")
@@ -330,18 +320,22 @@ def addDir(name,url,mode,iconimage):
ok=xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=u,listitem=liz,isFolder=True)
return ok
-def addAddonDir(name,url,iconimage,desc,cType,id):
+def addAddonDir(name,url,iconimage,desc,cType,id,author,version):
ok=True
- liz=xbmcgui.ListItem(name, iconImage="DefaultFolder.png",
thumbnailImage=iconimage)
- liz.setInfo( type="Video", infoLabels={ "Title": name, "Plot": desc } )
+ liz=xbmcgui.ListItem(name, iconImage="DefaultAddon.png",
thumbnailImage=iconimage)
+ liz.setProperty("Addon.description", desc)
+ liz.setProperty("Addon.creator", author)
+ liz.setProperty("Addon.version", version)
liz.addContextMenuItems([(translation(30002),
'RunPlugin(plugin://script.categories/?mode=addAddon&url='+urllib.quote_plus(cType+"#"+id)+')',)])
ok=xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=url,listitem=liz,isFolder=True)
return ok
-def addAddonRDir(name,url,iconimage,cat,desc,id):
+def addAddonRDir(name,url,iconimage,cat,desc,id,author,version):
ok=True
- liz=xbmcgui.ListItem(name, iconImage="DefaultFolder.png",
thumbnailImage=iconimage)
- liz.setInfo( type="Video", infoLabels={ "Title": name, "Plot": desc } )
+ liz=xbmcgui.ListItem(name, iconImage="DefaultAddon.png",
thumbnailImage=iconimage)
+ liz.setProperty("Addon.description", desc)
+ liz.setProperty("Addon.creator", author)
+ liz.setProperty("Addon.version", version)
liz.addContextMenuItems([(translation(30003),
'RunPlugin(plugin://script.categories/?mode=deleteAddon&url='+urllib.quote_plus(id+"#"+cat+"#END")+')',)])
ok=xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=url,listitem=liz,isFolder=True)
return ok
@@ -356,9 +350,9 @@ def addRDir(name,url,mode,iconimage):
return ok
params=parameters_string_to_dict(sys.argv[2])
-mode=params.get('mode')
-url=params.get('url')
-contentType=params.get('content_type')
+mode = urllib.unquote_plus(params.get('mode', ''))
+url = urllib.unquote_plus(params.get('url', ''))
+contentType = urllib.unquote_plus(params.get('content_type', ''))
if contentType!="video" and contentType!="audio" and contentType!="image":
contentType=""
diff --git a/script.categories/icon.png b/script.categories/icon.png
index 077943a..0aa0ec2 100644
Binary files a/script.categories/icon.png and b/script.categories/icon.png
differ
diff --git a/script.categories/resources/settings.xml
b/script.categories/resources/settings.xml
index 0ba2861..fbfd819 100644
--- a/script.categories/resources/settings.xml
+++ b/script.categories/resources/settings.xml
@@ -67,9 +67,8 @@
</category>
<category label="30013">
<setting id="catCount" type="bool" label="30016" default="true"/>
- <setting id="versionInTitle" type="bool" label="30017" default="false"/>
<setting id="showMessages" type="bool" label="30020" default="false"/>
<setting id="forceView" type="bool" label="30014" default="true"/>
- <setting id="viewMode" type="number" label="30015" default="500"/>
+ <setting id="viewMode2" type="number" label="30015" default="550"/>
</category>
</settings>
-----------------------------------------------------------------------
Summary of changes:
script.categories/addon.xml | 5 +-
script.categories/changelog.txt | 4 ++
script.categories/default.py | 86 ++++++++++++++----------------
script.categories/icon.png | Bin 5458 -> 102502 bytes
script.categories/resources/settings.xml | 3 +-
5 files changed, 48 insertions(+), 50 deletions(-)
hooks/post-receive
--
Scripts
------------------------------------------------------------------------------
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons