The branch, frodo has been updated
       via  8aa197c6f229fcc59fd8a60d46abd18e7dc23ea8 (commit)
       via  d8c4d2aa1f869c6a81c4d61036fdd1a69a06db7b (commit)
       via  d2fab5332434a85d74b4921c8154ab93eed7e774 (commit)
       via  f9087130d9e1f25ff25b823877cbd45cfa2c894a (commit)
       via  15bc291c87f3502ea93b874e47de2c6936cbdd14 (commit)
      from  8c3aeda985b36598a44a29bb404cf95ed2719495 (commit)

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

commit 8aa197c6f229fcc59fd8a60d46abd18e7dc23ea8
Author: beenje <[email protected]>
Date:   Mon Nov 26 22:19:21 2012 +0100

    [plugin.video.previewnetworks] updated to version 2.3.1

diff --git a/plugin.video.previewnetworks/addon.xml 
b/plugin.video.previewnetworks/addon.xml
index 7c72052..19f79db 100644
--- a/plugin.video.previewnetworks/addon.xml
+++ b/plugin.video.previewnetworks/addon.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<addon id="plugin.video.previewnetworks" 
-       name="Preview Networks" 
-       version="2.2.1" 
+<addon id="plugin.video.previewnetworks"
+       name="Preview Networks"
+       version="2.3.1"
        provider-name="nmazz64">
     <requires>
         <import addon="xbmc.python" version="2.0"/>
diff --git a/plugin.video.previewnetworks/changelog.txt 
b/plugin.video.previewnetworks/changelog.txt
index 71c4758..f0deb98 100644
--- a/plugin.video.previewnetworks/changelog.txt
+++ b/plugin.video.previewnetworks/changelog.txt
@@ -1,3 +1,9 @@
+[B]2.3.1[/B]
+- compatibility changes for Frodo beta
+
+[B]2.3[/B]
+- compatibility changes for Frodo beta
+
 [B]2.2.1[/B]
 - Same bugfix[B]2.2[/B]
 - Solved the Download&View option
diff --git a/plugin.video.previewnetworks/default.py 
b/plugin.video.previewnetworks/default.py
index 36035fc..f97466b 100644
--- a/plugin.video.previewnetworks/default.py
+++ b/plugin.video.previewnetworks/default.py
@@ -21,7 +21,7 @@ __author__ = "nmazz64"
 __url__ = "http://code.google.com/p/previewnetworks-xbmc-plugin";

 __svn_url__ = 
"http://previewnetworks-xbmc-plugin.googlecode.com/svn/trunk/plugin.video.previewnetworks/";

 __useragent__ = "QuickTime/7.6.5 (qtver=7.6.5;os=Windows NT 5.1Service Pack 3)"

-__version__ = "2.2.0"

+__version__ = "2.3.1"

 __svn_revision__ = "$Revision: 0$"

 __XBMC_Revision__ = "31633"

 

@@ -29,7 +29,6 @@ url_source=None
 

 def check_compatible():

     try:

-        # xbmc.log( "[PLUGIN] '%s: Version - %s-r%s' initialized!" % ( 
__plugin__, __version__, __svn_revision__.replace( "$", "" ).replace( 
"Revision", "" ).replace( ":", "" ).strip() ), xbmc.LOGNOTICE )

         # get xbmc revision

         xbmc_rev = int( xbmc.getInfoLabel( "System.BuildVersion" ).split( " r" 
)[ -1 ] )

         # compatible?

@@ -52,7 +51,7 @@ def categories(root):
     next_icon = os.path.join(Addon.getAddonInfo('path'), 'resources','images', 
'next.png')

     genre_icon = os.path.join(Addon.getAddonInfo('path'), 
'resources','images', 'genre.png')

     search_icon = os.path.join(Addon.getAddonInfo('path'), 
'resources','images', 'search.png')

-    #baseurl="http://%s.feed.previewnetworks.com/v3.1/%s/";

+##   baseurl="http://%s.feed.previewnetworks.com/v3.1/%s/";

     baseurl="http://%s.hdplus.previewnetworks.com/v3.1/%s/";

 

     if root:

@@ -120,9 +119,16 @@ if sys.argv[ 2 ] == "":
         categories(True)

         xbmcplugin.endOfDirectory(int(sys.argv[1]))

 elif ( __name__ == "__main__" ):

-    if ( sys.argv[ 2 ].startswith( "?url" ) ):

+    if ( sys.argv[ 2 ].find( "Download_Trailer" ) > 0 ):

+        import resources.lib.download as download

+        download.Main()

+    elif ( sys.argv[ 2 ].startswith( "?OpenSettings" ) ):

+        xbmcaddon.Addon( id=__plugin__).openSettings()

+        xbmc.executebuiltin( "Container.Refresh" )

+    elif ( sys.argv[ 2 ].find("url") > 0 ):

         paramstring=sys.argv[2]

         if len(paramstring)>0 :

+            print "paramstring %s" % paramstring

             params=cgi.parse_qs(paramstring[ 1 : ],True)

             item=str(get(params,"item"))

             if item == '0':

@@ -133,14 +139,3 @@ elif ( __name__ == "__main__" ):
                 import resources.lib.trailers as plugin

                 plugin.Main(url_source,item)

                 del plugin

-    elif ( sys.argv[ 2 ].startswith( "?Fetch_Showtimes" ) ):

-        import resources.lib.showtimes as showtimes

-        s = showtimes.GUI( "plugin-AMTII-showtimes.xml", 
Addon.getAddonInfo('path') , "default" )

-        del s

-    elif ( sys.argv[ 2 ].startswith( "?Download_Trailer" ) ):

-        import resources.lib.download as download

-        download.Main()

-    elif ( sys.argv[ 2 ].startswith( "?OpenSettings" ) ):

-        #xbmcaddon.Addon( id=os.path.basename( Addon.getAddonInfo('path')  ) 
).openSettings()

-        xbmcaddon.Addon( id=__plugin__).openSettings()

-        xbmc.executebuiltin( "Container.Refresh" )

diff --git a/plugin.video.previewnetworks/resources/lib/trailers.py 
b/plugin.video.previewnetworks/resources/lib/trailers.py
index 6db893a..4c61388 100644
--- a/plugin.video.previewnetworks/resources/lib/trailers.py
+++ b/plugin.video.previewnetworks/resources/lib/trailers.py
@@ -219,7 +219,7 @@ class _Parser:
                             if ( not ok ): raise

         except:

             # oops print error message

-            print "ERROR: %s::%s (%d) - %s" % ( self.__class__.__name__, 
sys.exc_info()[ 2 ].tb_frame.f_code.co_name, sys.exc_info()[ 2 ].tb_lineno, 
sys.exc_info()[ 1 ], )

+            print "PN1 ERROR: %s::%s (%d) - %s" % ( self.__class__.__name__, 
sys.exc_info()[ 2 ].tb_frame.f_code.co_name, sys.exc_info()[ 2 ].tb_lineno, 
sys.exc_info()[ 1 ], )

             ok = False

         return ok

 

@@ -286,7 +286,7 @@ class _Parser:
             # add the item to the media list

             return self.MediaWindow.add( dirItem )

         except:

-            print "ERROR: %s::%s (%d) - %s" % ( self.__class__.__name__, 
sys.exc_info()[ 2 ].tb_frame.f_code.co_name, sys.exc_info()[ 2 ].tb_lineno, 
sys.exc_info()[ 1 ], )

+            print "PN2 ERROR: %s::%s (%d) - %s" % ( self.__class__.__name__, 
sys.exc_info()[ 2 ].tb_frame.f_code.co_name, sys.exc_info()[ 2 ].tb_lineno, 
sys.exc_info()[ 1 ], )

             return False

 

 

@@ -369,6 +369,8 @@ class Main:
             # set proper source

             extension = self.settings[ "region" ]+self.settings[ "product" 
]+self.ITEM_CURRENT_URL

             base_path = self.BASE_CURRENT_SOURCE_PATH % extension

+            #print "extension %s" % extension

+            #print "base_path %s" % base_path

 

             if self.ITEM_CURRENT_URL == '99':

                 curr_phrase = ''

@@ -379,6 +381,7 @@ class Main:
                 base_url = self.BASE_CURRENT_URL % (self.settings[ "region" 
],self.settings[ "product" ],self.settings[ "channel_id" ],search_phrase)

             else:

                 base_url = self.BASE_CURRENT_URL % (self.settings[ "region" 
],self.settings[ "product" ],self.settings[ "channel_id" ])

+            #print "base_url %s" % base_url

             #

             # get the source files date if it exists

             try: date = os.path.getmtime( base_path )

@@ -407,7 +410,7 @@ class Main:
                ok = self.save_xml_source( xmlSource )

         except:

             # oops print error message

-            print "ERROR: %s::%s (%d) - %s" % ( self.__class__.__name__, 
sys.exc_info()[ 2 ].tb_frame.f_code.co_name, sys.exc_info()[ 2 ].tb_lineno, 
sys.exc_info()[ 1 ], )

+            print "PN3 ERROR: %s::%s (%d) - %s" % ( self.__class__.__name__, 
sys.exc_info()[ 2 ].tb_frame.f_code.co_name, sys.exc_info()[ 2 ].tb_lineno, 
sys.exc_info()[ 1 ], )

             ok = False

         if ( ok ):

             return xmlSource

@@ -433,7 +436,7 @@ class Main:
             return True

         except:

             # oops print error message

-            print "ERROR: %s::%s (%d) - %s" % ( self.__class__.__name__, 
sys.exc_info()[ 2 ].tb_frame.f_code.co_name, sys.exc_info()[ 2 ].tb_lineno, 
sys.exc_info()[ 1 ], )

+            print "PN4 ERROR: %s::%s (%d) - %s" % ( self.__class__.__name__, 
sys.exc_info()[ 2 ].tb_frame.f_code.co_name, sys.exc_info()[ 2 ].tb_lineno, 
sys.exc_info()[ 1 ], )

             return False

 

     def parse_xml_source( self, xmlSource ):


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

commit d8c4d2aa1f869c6a81c4d61036fdd1a69a06db7b
Author: beenje <[email protected]>
Date:   Mon Nov 26 22:19:14 2012 +0100

    [plugin.video.revision3] updated to version 2.0.11

diff --git a/plugin.video.revision3/addon.xml b/plugin.video.revision3/addon.xml
index fcba953..e29bd8a 100644
--- a/plugin.video.revision3/addon.xml
+++ b/plugin.video.revision3/addon.xml
@@ -1,21 +1,21 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <addon id="plugin.video.revision3"
        name="Revision3"
-       version="2.0.10" 
+       version="2.0.11" 
        provider-name="stacked">
   <requires>
     <import addon="xbmc.python" version="2.0"/>
-       <import addon="script.module.parsedom" version="1.2.0"/>
+       <import addon="script.module.parsedom" version="1.3.0"/>
        <import addon="script.module.simple.downloader" version="0.9.3"/>
-       <import addon="script.module.buggalo" version="1.0.1"/>
+       <import addon="script.module.buggalo" version="1.1.2"/>
   </requires>
   <extension point="xbmc.python.pluginsource"
             library="default.py">
         <provides>video</provides>
   </extension>
   <extension point="xbmc.addon.metadata">
-    <summary>Revision3: The Best TV Shows on the Internet</summary>
-    <description>The leading television network for the internet 
generation.</description>
+    <summary lang="en">Revision3: The Best TV Shows on the Internet</summary>
+    <description lang="en">The leading television network for the internet 
generation.</description>
     <platform>all</platform>
        <language>en</language>
   </extension>
diff --git a/plugin.video.revision3/changelog.txt 
b/plugin.video.revision3/changelog.txt
index add6453..cdbee9b 100644
--- a/plugin.video.revision3/changelog.txt
+++ b/plugin.video.revision3/changelog.txt
@@ -1,18 +1,28 @@
+[B]Version 2.0.11[/B]
+
+- Fixed index error caused by getParameters
+- Updated open_url and retry functions
+
+
 [B]Version 2.0.10[/B]
+
 - Added better support for HTTP Errors
 - Fixed reported 'UnicodeDecodeError' errors
 - Fixed reported 'IndexError' errors
 
 [B]Version 2.0.9[/B]
+
 - Fixed error when loading shows
 
 [B]Version 2.0.8[/B]
+
 - Added support for connection timeout errors
 - Fixed loop when switching between download settings
 - Fixed 'img' referenced before assignment error
 - Fixed error when a "Unknown File Type" is played
 
 [B]Version 2.0.7[/B]
+
 - Fixed infoLabels for "Other Episodes"
 
 [B]Version 2.0.6[/B]
diff --git a/plugin.video.revision3/default.py 
b/plugin.video.revision3/default.py
index c0902d3..d3baaad 100644
--- a/plugin.video.revision3/default.py
+++ b/plugin.video.revision3/default.py
@@ -4,8 +4,8 @@ import xbmc, xbmcgui, xbmcplugin, xbmcaddon, urllib, re, 
string, sys, os, time,
 plugin =  'Revision3'
 __author__ = 'stacked <[email protected]>'
 __url__ = 'http://code.google.com/p/plugin/'
-__date__ = '09-30-2012'
-__version__ = '2.0.10'
+__date__ = '11-25-2012'
+__version__ = '2.0.11'
 settings = xbmcaddon.Addon(id='plugin.video.revision3')
 buggalo.SUBMIT_URL = 'http://www.xbmc.byethost17.com/submit.php'
 dbg = False
@@ -25,50 +25,41 @@ common.plugin = plugin + ' ' + __version__
 import SimpleDownloader as downloader
 downloader = downloader.SimpleDownloader()
 
-def retry(ExceptionToCheck, tries=4, delay=3, backoff=2, logger=None):
-    """Retry calling the decorated function using an exponential backoff.
-
-    http://www.saltycrane.com/blog/2009/11/trying-out-retry-decorator-python/
-    original from: http://wiki.python.org/moin/PythonDecoratorLibrary#Retry
-
-    :param ExceptionToCheck: the exception to check. may be a tuple of
-        excpetions to check
-    :type ExceptionToCheck: Exception or tuple
-    :param tries: number of times to try (not retry) before giving up
-    :type tries: int
-    :param delay: initial delay between retries in seconds
-    :type delay: int
-    :param backoff: backoff multiplier e.g. value of 2 will double the delay
-        each retry
-    :type backoff: int
-    :param logger: logger to use. If None, print
-    :type logger: logging.Logger instance
-    """
+def retry(ExceptionToCheck, tries=11, delay=3, backoff=1, logger=None):
     def deco_retry(f):
         def f_retry(*args, **kwargs):
             mtries, mdelay = tries, delay
             try_one_last_time = True
-            while mtries > 1:
-                try:
-                    return f(*args, **kwargs)
-                    try_one_last_time = False
-                    break
-                except ExceptionToCheck, e:
-                    msg = "%s, Retrying in %d seconds..." % (str(e), mdelay)
-                    if logger:
-                        logger.warning(msg)
-                    else:
-                        print msg
-                    time.sleep(mdelay)
-                    mtries -= 1
-                    mdelay *= backoff
+            while mtries >= 0:
+                               if mtries == 0:
+                                       dialog = xbmcgui.Dialog()
+                                       ret = dialog.yesno(plugin, 
settings.getLocalizedString( 30054 ), '', '', settings.getLocalizedString( 
30052 ), settings.getLocalizedString( 30053 ))
+                                       if ret == False:
+                                               mtries, mdelay = tries, delay
+                                       else:
+                                               ok = dialog.ok(plugin, 
settings.getLocalizedString( 30051 ))
+                                               raise Exception("retry ERROR")
+                               try:
+                                       return f(*args, **kwargs)
+                                       try_one_last_time = False
+                                       break
+                               except ExceptionToCheck, e:
+                                       if mtries > 1:
+                                               msg = "%s, Retrying in %d 
seconds..." % (str(e), mdelay)
+                                               if logger:
+                                                       logger.warning(msg)
+                                               else:
+                                                       print msg
+                                               time.sleep(mdelay)
+                                               mdelay *= backoff
+                                       mtries -= 1
             if try_one_last_time:
                 return f(*args, **kwargs)
             return
-        return f_retry  # true decorator
+        return f_retry 
     return deco_retry
 
-@retry(IndexError, tries=4)
+@retry(IndexError)
 def build_main_directory(url):
        path = url
        html = open_url(url)
@@ -102,7 +93,7 @@ def build_main_directory(url):
        setViewMode("515")
        xbmcplugin.endOfDirectory(int(sys.argv[1]))
 
-@retry(IndexError, tries=4)
+@retry(IndexError)
 def build_sub_directory(url, name):
        saveurl = url
        studio = name
@@ -192,7 +183,7 @@ def build_sub_directory(url, name):
        setViewMode("503")
        xbmcplugin.endOfDirectory(int(sys.argv[1]))
        
-@retry(IndexError, tries=4)
+@retry(IndexError)
 def get_video(url, name, plot, studio, episode, thumb, date):
        result = open_url(url)
        video_id = 
re.compile('player\.loadRevision3Item\(\'video_id\',(.+?)\);').findall(result)[0].replace('
 ','')
@@ -258,7 +249,7 @@ def get_video(url, name, plot, studio, episode, thumb, 
date):
                        listitem.setInfo( type = "Video", infoLabels={ "Title": 
name, "Studio": studio, "Plot": plot, "Episode": int(episode), "Aired": date  } 
)
                        xbmcplugin.setResolvedUrl( handle = int( sys.argv[1] ), 
succeeded = True, listitem = listitem )
 
-@retry(IndexError, tries=4)
+@retry(IndexError)
 def build_search_directory(url):
        if url == 'search':
                try:
@@ -327,35 +318,44 @@ def ListItem(label, image, url, mode, isFolder, 
infoLabels = False, fanart = Fal
        
 def open_url(url):
        retries = 0
-       while retries < 4:
+       while retries < 11:
+               data = {'content': None, 'error': None}
                try:
-                       time.sleep(5*retries)
+                       if retries != 0:
+                               time.sleep(3)
                        data = get_page(url)
-                       if len(data) > 0 and data != 'error':
-                               return data
-                       else:
-                               retries += 1
-               except:
-                       retries += 1
-       buggalo.addExtraData('url', url)
+                       if data['content'] != None and data['error'] == None:
+                               return data['content']
+               except Exception, e:
+                       data['error'] = str(e)
+               retries += 1
        dialog = xbmcgui.Dialog()
-       ok = dialog.ok(plugin, settings.getLocalizedString( 30023 ) + '\n' + 
settings.getLocalizedString( 30024 ))
-       raise Exception("open_url ERROR")
-       
+       ret = dialog.yesno(plugin, settings.getLocalizedString( 30050 ), 
data['error'], '', settings.getLocalizedString( 30052 ), 
settings.getLocalizedString( 30053 ))
+       if ret == False:
+               open_url(url)
+       else:
+               ok = dialog.ok(plugin, settings.getLocalizedString( 30051 ))
+               buggalo.addExtraData('url', url)
+               buggalo.addExtraData('error', data['error'])
+               raise Exception("open_url ERROR")
+               
 def get_page(url):
+       data = {'content': None, 'error': None}
        try:
                req = urllib2.Request(url)
                req.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 6.1; 
WOW64; rv:15.0) Gecko/20100101 Firefox/15.0.1')
                content = urllib2.urlopen(req)
-               data = content.read()
+               html = content.read()
                content.close()
                try:
-                       return data.decode("utf-8")
+                       data['content'] = html.decode("utf-8")
+                       return data
                except:
+                       data['content'] = html
                        return data
        except Exception, e:
-               buggalo.addExtraData('error', str(e))
-               return 'error'
+               data['error'] = str(e)
+               return data
        
 def setViewMode(id):
        if xbmc.getSkinDir() == "skin.confluence" and 
settings.getSetting('view') == 'true':
@@ -373,7 +373,18 @@ def clean_file(name):
         name=name.replace(old,new)
     return name
 
-params = common.getParameters(sys.argv[2])
+def getParameters(parameterString):
+    commands = {}
+    splitCommands = parameterString[parameterString.find('?') + 1:].split('&')
+    for command in splitCommands:
+        if (len(command) > 0):
+            splitCommand = command.split('=')
+            key = splitCommand[0]
+            value = splitCommand[1]
+            commands[key] = value
+    return commands
+
+params = getParameters(sys.argv[2])
 url = None
 name = None
 mode = None
diff --git a/plugin.video.revision3/resources/language/English/strings.xml 
b/plugin.video.revision3/resources/language/English/strings.xml
index 46742a2..927f645 100644
--- a/plugin.video.revision3/resources/language/English/strings.xml
+++ b/plugin.video.revision3/resources/language/English/strings.xml
@@ -21,6 +21,9 @@
        <string id="30020">Enter search term.</string>
        <string id="30021">Enable default view for Confluence skin</string>
        <string id="30022">Play downloaded shows.</string>
-       <string id="30023">There was a problem connecting to the web 
page.</string>
-       <string id="30024">If this problem persists, please submit the error 
report.</string>
+       <string id="30050">There was a connection error:</string>
+       <string id="30051">If this problem persists, please submit the error 
report.</string>
+       <string id="30052">Retry</string>
+       <string id="30053">Quit</string>
+       <string id="30054">There was an index error.</string>
 </strings>

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

commit d2fab5332434a85d74b4921c8154ab93eed7e774
Author: beenje <[email protected]>
Date:   Mon Nov 26 22:19:08 2012 +0100

    [plugin.video.pbs] updated to version 2.0.3

diff --git a/plugin.video.pbs/addon.xml b/plugin.video.pbs/addon.xml
index 87892b5..ebfc5e2 100644
--- a/plugin.video.pbs/addon.xml
+++ b/plugin.video.pbs/addon.xml
@@ -1,13 +1,13 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <addon id="plugin.video.pbs"
        name="PBS"
-       version="2.0.2"
+       version="2.0.3"
        provider-name="stacked">
   <requires>
        <import addon="xbmc.python" version="2.0"/>
        <import addon="script.module.simplejson" version="2.0.10"/>
        <import addon="script.module.buggalo" version="1.1.2"/>
-       <import addon="script.module.parsedom" version="1.2.0"/>
+       <import addon="script.module.parsedom" version="1.3.0"/>
   </requires>
   <extension point="xbmc.python.pluginsource"
             library="default.py">
diff --git a/plugin.video.pbs/changelog.txt b/plugin.video.pbs/changelog.txt
index cff213e..756a949 100644
--- a/plugin.video.pbs/changelog.txt
+++ b/plugin.video.pbs/changelog.txt
@@ -1,4 +1,13 @@
+[B]Version 2.0.3[/B]
+
+- Replaced get_params with getParameters
+- Fixed "No JSON object could be decoded" error
+- Fixed "exceptions.TypeError" error
+- Fixed retry on timeout bug
+- Fixed play back issue with new PBS Kids videos
+
 [B]Version 2.0.2[/B]
+
 - Added separate directory for PBS Kids programs
 - Fixed issue with missing videos on some programs
 - Added function to select the highest video quality available (640x360 SD)
diff --git a/plugin.video.pbs/coveapi/connection.py 
b/plugin.video.pbs/coveapi/connection.py
index d2e6ad2..f72bd7f 100644
--- a/plugin.video.pbs/coveapi/connection.py
+++ b/plugin.video.pbs/coveapi/connection.py
@@ -177,9 +177,10 @@ class Requestor(object):
                        query = '%s?%s' % (query, urllib.urlencode(params))
                
                retries = 0
-               error = None
-               while retries < 4:
-                       time.sleep(5*retries)
+               while retries < 11:
+                       error = None
+                       if retries != 0:
+                               time.sleep(3)
                        try:
                                request = urllib2.Request(query)
                                auth = PBSAuthorization(self.api_app_id, 
self.api_app_secret)
@@ -188,9 +189,11 @@ class Requestor(object):
                        except Exception, e:
                                error = str(e)
                        if error == None:
-                               return json.loads(response.read())
-                       else:
-                               retries += 1
+                               try:
+                                       return 
json.loads(response.read())['results']
+                               except Exception, e:
+                                       error = str(e)
+                       retries += 1
                dialog = xbmcgui.Dialog()
                ret = dialog.yesno(plugin, settings.getLocalizedString( 30050 
), error, '', settings.getLocalizedString( 30052 ), 
settings.getLocalizedString( 30053 ))
                if ret == False:
diff --git a/plugin.video.pbs/default.py b/plugin.video.pbs/default.py
index d86af1f..240c83a 100644
--- a/plugin.video.pbs/default.py
+++ b/plugin.video.pbs/default.py
@@ -5,8 +5,8 @@ from urllib2 import Request, urlopen, URLError, HTTPError
 plugin = "PBS"
 __author__ = 'stacked <[email protected]>'
 __url__ = 'http://code.google.com/p/plugin/'
-__date__ = '11-18-2012'
-__version__ = '2.0.2'
+__date__ = '11-25-2012'
+__version__ = '2.0.3'
 settings = xbmcaddon.Addon( id = 'plugin.video.pbs' )
 buggalo.SUBMIT_URL = 'http://www.xbmc.byethost17.com/submit.php'
 dbg = False
@@ -54,7 +54,7 @@ def build_main_directory():
        
 def build_most_watched_directory():
        url = 'http://video.pbs.org/'
-       data = open_url( url )['content']
+       data = open_url( url )
        list = common.parseDOM(data, "ul", attrs = { "class": "video-list clear 
clearfix" })
        videos = common.parseDOM(list, "span", attrs = { "class": "title clear 
clearfix" })
        img = common.parseDOM(list, "img", ret = "src")
@@ -73,11 +73,11 @@ def build_programs_directory( name, page ):
        checking = True
        while checking:
                start = str( 200 * page )
-               #data = 
cove.programs.filter(fields='associated_images,mediafiles,categories',filter_categories__namespace__name='COVE
 Taxonomy',order_by='title',limit_start=start)['results']
+               #data = 
cove.programs.filter(fields='associated_images,mediafiles,categories',filter_categories__namespace__name='COVE
 Taxonomy',order_by='title',limit_start=start)
                if name != settings.getLocalizedString( 30014 ) and name != 
settings.getLocalizedString( 30000 ):
-                       data = 
cove.programs.filter(fields='associated_images',order_by='title',limit_start=start,filter_title=name)['results']
+                       data = 
cove.programs.filter(fields='associated_images',order_by='title',limit_start=start,filter_title=name)
                else:
-                       data = 
cove.programs.filter(fields='associated_images',order_by='title',limit_start=start)['results']
+                       data = 
cove.programs.filter(fields='associated_images',order_by='title',limit_start=start)
                if ( len(data) ) == 200:
                        page = page + 1
                else:
@@ -115,7 +115,7 @@ def build_programs_directory( name, page ):
        xbmcplugin.endOfDirectory( int( sys.argv[1] ) )
                
 def build_topics_directory():
-       data = 
cove.categories.filter(order_by='name',filter_namespace__name='COVE 
Taxonomy')['results']
+       data = 
cove.categories.filter(order_by='name',filter_namespace__name='COVE Taxonomy')
        item = None
        for results in data:
                if item != results['name']:
@@ -141,7 +141,7 @@ def build_search_keyboard():
 def build_search_directory( url, page ):
        save_url = url.replace( ' ', '%20' )
        url = 'http://www.pbs.org/search/?q=' + url.replace( ' ', '%20' ) + 
'&ss=pbs&mediatype=Video&start=' + str( page * 10 )
-       data = open_url( url )['content']
+       data = open_url( url )
        title_id_thumb = re.compile('<a title="(.*?)" target="" rel="nofollow" 
onclick="EZDATA\.trackGaEvent\(\'search\', \'navigation\', \'external\'\);" 
href="(.*?)"><img src="(.*?)" class="ez-primaryThumb"').findall(data)
        program = re.compile('<p class="ez-metaextra1 
ez-icon">(.*?)</p>').findall(data)
        plot = re.compile('<p class="ez-desc">(.*?)<div 
class="(ez-snippets|ez-itemUrl)">', re.DOTALL).findall(data)
@@ -175,23 +175,23 @@ def find_videos( name, program_id, topic, page ):
        backup_url = None
        if topic == 'True':
                program_id = 'program_id'
-               data = 
cove.videos.filter(fields='associated_images,mediafiles,categories',filter_categories__name=name,order_by='-airdate',filter_availability_status='Available',limit_start=start,exclude_type__in='Chapter,Promotion')['results']
+               data = 
cove.videos.filter(fields='associated_images,mediafiles,categories',filter_categories__name=name,order_by='-airdate',filter_availability_status='Available',limit_start=start,exclude_type__in='Chapter,Promotion')
        elif topic == 'False':
-               data = 
cove.videos.filter(fields='associated_images,mediafiles',filter_tp_media_object_id=program_id,limit_start=start)['results']
+               data = 
cove.videos.filter(fields='associated_images,mediafiles',filter_tp_media_object_id=program_id,limit_start=start)
                print "PBS - Video ID: " + program_id
                if len(data) == 0:
                        dialog = xbmcgui.Dialog()
                        ok = dialog.ok( plugin , settings.getLocalizedString( 
30009 ) + '\n' + 'http://video.pbs.org/video/' + program_id )
                        return
        elif topic == 'search':
-               data = 
cove.videos.filter(fields='associated_images,mediafiles',filter_title__contains=name,order_by='-airdate',filter_availability_status='Available',limit_start=start)['results']
+               data = 
cove.videos.filter(fields='associated_images,mediafiles',filter_title__contains=name,order_by='-airdate',filter_availability_status='Available',limit_start=start)
                if len(data) == 0:
-                       data = 
cove.videos.filter(fields='associated_images,mediafiles',filter_title__contains=string.capwords(name),order_by='-airdate',filter_availability_status='Available',limit_start=start)['results']
+                       data = 
cove.videos.filter(fields='associated_images,mediafiles',filter_title__contains=string.capwords(name),order_by='-airdate',filter_availability_status='Available',limit_start=start)
        else:
                topic = 'topic'
-               data = 
cove.videos.filter(fields='associated_images,mediafiles',filter_program=program_id,order_by='-airdate',filter_availability_status='Available',limit_start=start,exclude_type__in='Chapter,Promotion')['results']
+               data = 
cove.videos.filter(fields='associated_images,mediafiles',filter_program=program_id,order_by='-airdate',filter_availability_status='Available',limit_start=start,exclude_type__in='Chapter,Promotion')
                if len(data) <= 1:
-                       data = 
cove.videos.filter(fields='associated_images,mediafiles',filter_program=program_id,order_by='-airdate',filter_availability_status='Available',limit_start=start)['results']
+                       data = 
cove.videos.filter(fields='associated_images,mediafiles',filter_program=program_id,order_by='-airdate',filter_availability_status='Available',limit_start=start)
        for results in data:
                playable = None
                if results['associated_images'] != None and 
len(results['associated_images']) > 0:
@@ -246,7 +246,7 @@ def play_video( name, url, thumb, plot, studio, starttime, 
backup_url ):
                dialog = xbmcgui.Dialog()
                ok = dialog.ok( plugin , settings.getLocalizedString( 30008 ) )
                return
-       data = open_url( url + '&format=SMIL' )['content']
+       data = open_url( url + '&format=SMIL' )
        print 'PBS - ' + studio + ' - ' + name
        try:
                print data
@@ -277,10 +277,10 @@ def play_video( name, url, thumb, plot, studio, 
starttime, backup_url ):
                        ok = dialog.ok( plugin , settings.getLocalizedString( 
30008 ) )
                        return
        src = re.compile( '<ref src="(.+?)" title="(.+?)" (author)?' ).findall( 
data )[0][0]
-       if src.find('m3u8') != -1:
-               dialog = xbmcgui.Dialog()
-               ok = dialog.ok( plugin , settings.getLocalizedString( 30008 ) )
-               return
+       # if src.find('m3u8') != -1:
+               # dialog = xbmcgui.Dialog()
+               # ok = dialog.ok( plugin , settings.getLocalizedString( 30008 ) 
)
+               # return
        playpath = None
        if base == 'http://ad.doubleclick.net/adx/':
                src_data = src.split( "&lt;break&gt;" )
@@ -319,16 +319,17 @@ def ListItem(label, image, url, isFolder, infoLabels = 
False):
 
 def open_url(url):
        retries = 0
-       while retries < 4:
+       while retries < 11:
+               data = {'content': None, 'error': None}
                try:
-                       time.sleep(5*retries)
+                       if retries != 0:
+                               time.sleep(3)
                        data = get_page(url)
                        if data['content'] != None and data['error'] == None:
-                               return data
-                       else:
-                               retries += 1
-               except:
-                       retries += 1
+                               return data['content']
+               except Exception, e:
+                       data['error'] = str(e)
+               retries += 1
        dialog = xbmcgui.Dialog()
        ret = dialog.yesno(plugin, settings.getLocalizedString( 30050 ), 
data['error'], '', settings.getLocalizedString( 30052 ), 
settings.getLocalizedString( 30053 ))
        if ret == False:
@@ -361,24 +362,18 @@ def setViewMode(id):
        if xbmc.getSkinDir() == "skin.confluence":
                xbmc.executebuiltin("Container.SetViewMode(" + id + ")")
 
-def get_params():
-       param = []
-       paramstring = sys.argv[2]
-       if len( paramstring ) >= 2:
-               params = sys.argv[2]
-               cleanedparams = params.replace( '?', '' )
-               if ( params[len( params ) - 1] == '/' ):
-                       params = params[0:len( params ) - 2]
-               pairsofparams = cleanedparams.split( '&' )
-               param = {}
-               for i in range( len( pairsofparams ) ):
-                       splitparams = {}
-                       splitparams = pairsofparams[i].split( '=' )
-                       if ( len( splitparams ) ) == 2:
-                               param[splitparams[0]] = splitparams[1]          
                        
-       return param
+def getParameters(parameterString):
+    commands = {}
+    splitCommands = parameterString[parameterString.find('?') + 1:].split('&')
+    for command in splitCommands:
+        if (len(command) > 0):
+            splitCommand = command.split('=')
+            key = splitCommand[0]
+            value = splitCommand[1]
+            commands[key] = value
+    return commands
 
-params = get_params()
+params = getParameters(sys.argv[2])
 starttime = None
 mode = None
 name = None

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


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

commit 15bc291c87f3502ea93b874e47de2c6936cbdd14
Author: beenje <[email protected]>
Date:   Mon Nov 26 22:18:39 2012 +0100

    [plugin.image.cheezburger_network] updated to version 0.0.2

diff --git a/plugin.image.cheezburger_network/addon.py 
b/plugin.image.cheezburger_network/addon.py
index 9fba81e..6adcee3 100644
--- a/plugin.image.cheezburger_network/addon.py
+++ b/plugin.image.cheezburger_network/addon.py
@@ -34,6 +34,7 @@ plugin = Plugin(__addon_name__, __addon_id__, __file__)
 

 api = cheez_api.CheezburgerApi(

     developer_key='df1b9bff-ce69-46e7-8732-1035272f3ee7',

+    client_id=2117,

     default_count=int(plugin.get_setting('per_page'))

 )

 

diff --git a/plugin.image.cheezburger_network/addon.xml 
b/plugin.image.cheezburger_network/addon.xml
index e962422..45e1f9c 100644
--- a/plugin.image.cheezburger_network/addon.xml
+++ b/plugin.image.cheezburger_network/addon.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<addon id="plugin.image.cheezburger_network" name="Cheezburger Network" 
version="0.0.1" provider-name="Tristan Fischer ([email protected])">
+<addon id="plugin.image.cheezburger_network" name="Cheezburger Network" 
version="0.0.2" provider-name="Tristan Fischer ([email protected])">
   <requires>
     <import addon="xbmc.python" version="2.0"/>
     <import addon="script.module.xmltodict" version="0.2.0"/>
@@ -11,7 +11,22 @@
   <extension point="xbmc.addon.metadata">
     <language></language>
     <platform>all</platform>
+    <!-- translation commit: 84113ddafdde2c18eac5fd9b9b8144abff06ccf9 -->
+    <summary lang="be">funny pictures</summary>
+    <summary lang="de">Lustige Bilder</summary>
+    <summary lang="el">Αστείες εικόνες</summary>
     <summary lang="en">funny pictures</summary>
+    <summary lang="lt">Linksmieji paveikslėliai</summary>
+    <summary lang="pl">Śmieszne zdjęcia</summary>
+    <summary lang="pt_BR">Imagens Divertidas</summary>
+    <summary lang="sv">roliga bilder</summary>
+    <description lang="be">Cheezburger: All your funny in one 
place</description>
+    <description lang="de">Cheezburger: Alles Lustige an einem 
Ort</description>
+    <description lang="el">Cheezburger: Όλα τα αστεία σας σε 
ένα μέρος</description>
     <description lang="en">Cheezburger: All your funny in one 
place</description>
+    <description lang="lt">Cheezburger: Visi jūsų Linksmieji paveikslėliai 
vienoje vietoje</description>
+    <description lang="pl">Cheezburger: Wszystkie Twoje śmieszności w jednym 
miejscu</description>
+    <description lang="pt_BR">Cheezburger: Toda sua diversão em um único 
local</description>
+    <description lang="sv">Cheezburger: Alla dina roliga saker på ett 
ställe</description>
   </extension>
 </addon>
diff --git a/plugin.image.cheezburger_network/changelog.txt 
b/plugin.image.cheezburger_network/changelog.txt
index 7029713..a6fc5d1 100644
--- a/plugin.image.cheezburger_network/changelog.txt
+++ b/plugin.image.cheezburger_network/changelog.txt
@@ -1,2 +1,6 @@
-0.0.1 (unreleased)

+0.0.2 (25.11.2012)

+ - fixed Plugin (add clientID)

+ - updated translations

+

+0.0.1 (11.11.2012)

  - Initial Release

diff --git 
a/plugin.image.cheezburger_network/resources/language/English/strings.xml 
b/plugin.image.cheezburger_network/resources/language/English/strings.xml
index 82e76fd..e66c261 100644
--- a/plugin.image.cheezburger_network/resources/language/English/strings.xml
+++ b/plugin.image.cheezburger_network/resources/language/English/strings.xml
@@ -1,10 +1,15 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<!-- Translated using Transifex web application. For support, or if you would 
like to to help out, please visit your language team! -->
+<!-- English language-Team URL: 
http://www.transifex.com/projects/p/xbmc-addons/language/en/ -->
+<!-- Report language file syntax bugs at: [email protected] -->
+
 <strings>
     <!-- Menu entries -->
     <string id="30000">Page</string>
     <string id="30001">Browse by Site</string>
     <string id="30002">Random by Category</string>
     <string id="30003">Get New Random</string>
+
     <!-- Settings -->
     <string id="30100">Images per Site</string>
     <string id="30101">Force Thumbnail-View</string>
diff --git 
a/plugin.image.cheezburger_network/resources/language/German/strings.xml 
b/plugin.image.cheezburger_network/resources/language/German/strings.xml
index 06e5dcd..d8d9446 100644
--- a/plugin.image.cheezburger_network/resources/language/German/strings.xml
+++ b/plugin.image.cheezburger_network/resources/language/German/strings.xml
@@ -1,11 +1,16 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<!-- Translated using Transifex web application. For support, or if you would 
like to to help out, please visit your language team! -->
+<!-- German language-Team URL: 
http://www.transifex.com/projects/p/xbmc-addons/language/de/ -->
+<!-- Report language file syntax bugs at: [email protected] -->
+
 <strings>
     <!-- Menu entries -->
     <string id="30000">Seite</string>
     <string id="30001">Nach Webseite</string>
     <string id="30002">Zufällige nach Kategorie</string>
     <string id="30003">Neuer Zufall</string>
+
     <!-- Settings -->
     <string id="30100">Bilder pro Seite</string>
-    <string id="30101"Thumbnail-View erzwingen</string>
+    <string id="30101">Thumbnail-View erzwingen</string>
 </strings>
diff --git a/plugin.image.cheezburger_network/resources/lib/cheez_api.py 
b/plugin.image.cheezburger_network/resources/lib/cheez_api.py
index 383aaa9..b1fbfe4 100644
--- a/plugin.image.cheezburger_network/resources/lib/cheez_api.py
+++ b/plugin.image.cheezburger_network/resources/lib/cheez_api.py
@@ -33,7 +33,8 @@ class CheezburgerApi():
 

     API_URL = 'http://api.cheezburger.com/xml/'

 

-    def __init__(self, developer_key, default_count=None):

+    def __init__(self, developer_key, client_id, default_count=None):

+        self.client_id = client_id

         self.developer_key = developer_key

         self.default_count = default_count or 25

 

@@ -94,6 +95,7 @@ class CheezburgerApi():
         self.log('opening url: %s' % url)

         req = Request(url)

         req.add_header('DeveloperKey', self.developer_key)

+        req.add_header('ClientID', self.client_id)

         req.add_header('User-Agent', 'Python CheezburgerApi')

         try:

             response = urlopen(req).read()


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

Summary of changes:
 plugin.image.cheezburger_network/addon.py          |    1 +
 plugin.image.cheezburger_network/addon.xml         |   17 +++-
 plugin.image.cheezburger_network/changelog.txt     |    6 +-
 .../resources/language/Afrikaans/strings.xml       |    9 ++
 .../resources/language/Albanian/strings.xml        |    9 ++
 .../resources/language/Arabic/strings.xml          |    9 ++
 .../resources/language/Belarusian/strings.xml      |   16 +++
 .../resources/language/Bulgarian/strings.xml       |    9 ++
 .../resources/language/Catalan/strings.xml         |    9 ++
 .../language/Chinese (Simple)/strings.xml          |    9 ++
 .../language/Chinese (Traditional)/strings.xml     |    9 ++
 .../resources/language/Croatian/strings.xml        |    9 ++
 .../resources/language/Czech/strings.xml           |    9 ++
 .../resources/language/Danish/strings.xml          |    9 ++
 .../resources/language/Dutch/strings.xml           |    9 ++
 .../resources/language/English/strings.xml         |    5 +
 .../resources/language/Estonian/strings.xml        |    9 ++
 .../resources/language/Finnish/strings.xml         |    9 ++
 .../resources/language/French/strings.xml          |    9 ++
 .../resources/language/Galician/strings.xml        |    9 ++
 .../resources/language/German/strings.xml          |    7 +-
 .../resources/language/Greek/strings.xml           |   16 +++
 .../resources/language/Hebrew/strings.xml          |    9 ++
 .../resources/language/Hungarian/strings.xml       |    9 ++
 .../resources/language/Icelandic/strings.xml       |    9 ++
 .../resources/language/Italian/strings.xml         |    9 ++
 .../resources/language/Japanese/strings.xml        |    9 ++
 .../resources/language/Korean/strings.xml          |    9 ++
 .../resources/language/Lithuanian/strings.xml      |   16 +++
 .../resources/language/Norwegian/strings.xml       |    9 ++
 .../resources/language/Polish/strings.xml          |   16 +++
 .../language/Portuguese (Brazil)/strings.xml       |   16 +++
 .../resources/language/Portuguese/strings.xml      |    9 ++
 .../resources/language/Romanian/strings.xml        |    9 ++
 .../resources/language/Russian/strings.xml         |    9 ++
 .../language/Serbian (Cyrillic)/strings.xml        |    9 ++
 .../resources/language/Serbian/strings.xml         |    9 ++
 .../resources/language/Slovak/strings.xml          |    9 ++
 .../resources/language/Slovenian/strings.xml       |    9 ++
 .../language/Spanish (Mexico)/strings.xml          |    9 ++
 .../resources/language/Spanish/strings.xml         |    9 ++
 .../resources/language/Swedish/strings.xml         |   16 +++
 .../resources/language/Thai/strings.xml            |    9 ++
 .../resources/language/Turkish/strings.xml         |    9 ++
 .../resources/language/Ukrainian/strings.xml       |    9 ++
 .../resources/language/Vietnamese/strings.xml      |    9 ++
 .../resources/lib/cheez_api.py                     |    4 +-
 .../LICENSE.txt                                    |    0
 plugin.video.netzkino_de/addon.py                  |   79 +++++++++++
 plugin.video.netzkino_de/addon.xml                 |   36 +++++
 plugin.video.netzkino_de/changelog.txt             |    6 +
 plugin.video.netzkino_de/icon.png                  |  Bin 0 -> 48282 bytes
 .../resources/__init__.py                          |    0
 .../resources/language/Belarusian/strings.xml      |   13 ++
 .../resources/language/English/strings.xml         |   13 ++
 .../resources/language/French/strings.xml          |   12 ++
 .../resources/language/German/strings.xml          |   13 ++
 .../resources/language/Greek/strings.xml           |   13 ++
 .../resources/language/Korean/strings.xml          |   13 ++
 .../resources/language/Lithuanian/strings.xml      |   13 ++
 .../resources/language/Polish/strings.xml          |   13 ++
 .../language/Portuguese (Brazil)/strings.xml       |   13 ++
 .../resources/language/Spanish/strings.xml         |   13 ++
 .../resources/language/Swedish/strings.xml         |   13 ++
 .../resources/lib}/__init__.py                     |    0
 plugin.video.netzkino_de/resources/lib/api.py      |  142 ++++++++++++++++++++
 plugin.video.netzkino_de/resources/settings.xml    |    5 +
 plugin.video.pbs/addon.xml                         |    4 +-
 plugin.video.pbs/changelog.txt                     |    9 ++
 plugin.video.pbs/coveapi/connection.py             |   15 ++-
 plugin.video.pbs/default.py                        |   81 +++++------
 plugin.video.previewnetworks/addon.xml             |    6 +-
 plugin.video.previewnetworks/changelog.txt         |    6 +
 plugin.video.previewnetworks/default.py            |   25 ++--
 .../resources/lib/trailers.py                      |   11 +-
 plugin.video.revision3/addon.xml                   |   10 +-
 plugin.video.revision3/changelog.txt               |   10 ++
 plugin.video.revision3/default.py                  |  125 ++++++++++--------
 .../resources/language/English/strings.xml         |    7 +-
 79 files changed, 1029 insertions(+), 141 deletions(-)
 create mode 100644 
plugin.image.cheezburger_network/resources/language/Afrikaans/strings.xml
 create mode 100644 
plugin.image.cheezburger_network/resources/language/Albanian/strings.xml
 create mode 100644 
plugin.image.cheezburger_network/resources/language/Arabic/strings.xml
 create mode 100644 
plugin.image.cheezburger_network/resources/language/Belarusian/strings.xml
 create mode 100644 
plugin.image.cheezburger_network/resources/language/Bulgarian/strings.xml
 create mode 100644 
plugin.image.cheezburger_network/resources/language/Catalan/strings.xml
 create mode 100644 plugin.image.cheezburger_network/resources/language/Chinese 
(Simple)/strings.xml
 create mode 100644 plugin.image.cheezburger_network/resources/language/Chinese 
(Traditional)/strings.xml
 create mode 100644 
plugin.image.cheezburger_network/resources/language/Croatian/strings.xml
 create mode 100644 
plugin.image.cheezburger_network/resources/language/Czech/strings.xml
 create mode 100644 
plugin.image.cheezburger_network/resources/language/Danish/strings.xml
 create mode 100644 
plugin.image.cheezburger_network/resources/language/Dutch/strings.xml
 create mode 100644 
plugin.image.cheezburger_network/resources/language/Estonian/strings.xml
 create mode 100644 
plugin.image.cheezburger_network/resources/language/Finnish/strings.xml
 create mode 100644 
plugin.image.cheezburger_network/resources/language/French/strings.xml
 create mode 100644 
plugin.image.cheezburger_network/resources/language/Galician/strings.xml
 create mode 100644 
plugin.image.cheezburger_network/resources/language/Greek/strings.xml
 create mode 100644 
plugin.image.cheezburger_network/resources/language/Hebrew/strings.xml
 create mode 100644 
plugin.image.cheezburger_network/resources/language/Hungarian/strings.xml
 create mode 100644 
plugin.image.cheezburger_network/resources/language/Icelandic/strings.xml
 create mode 100644 
plugin.image.cheezburger_network/resources/language/Italian/strings.xml
 create mode 100644 
plugin.image.cheezburger_network/resources/language/Japanese/strings.xml
 create mode 100644 
plugin.image.cheezburger_network/resources/language/Korean/strings.xml
 create mode 100644 
plugin.image.cheezburger_network/resources/language/Lithuanian/strings.xml
 create mode 100644 
plugin.image.cheezburger_network/resources/language/Norwegian/strings.xml
 create mode 100644 
plugin.image.cheezburger_network/resources/language/Polish/strings.xml
 create mode 100644 
plugin.image.cheezburger_network/resources/language/Portuguese 
(Brazil)/strings.xml
 create mode 100644 
plugin.image.cheezburger_network/resources/language/Portuguese/strings.xml
 create mode 100644 
plugin.image.cheezburger_network/resources/language/Romanian/strings.xml
 create mode 100644 
plugin.image.cheezburger_network/resources/language/Russian/strings.xml
 create mode 100644 plugin.image.cheezburger_network/resources/language/Serbian 
(Cyrillic)/strings.xml
 create mode 100644 
plugin.image.cheezburger_network/resources/language/Serbian/strings.xml
 create mode 100644 
plugin.image.cheezburger_network/resources/language/Slovak/strings.xml
 create mode 100644 
plugin.image.cheezburger_network/resources/language/Slovenian/strings.xml
 create mode 100644 plugin.image.cheezburger_network/resources/language/Spanish 
(Mexico)/strings.xml
 create mode 100644 
plugin.image.cheezburger_network/resources/language/Spanish/strings.xml
 create mode 100644 
plugin.image.cheezburger_network/resources/language/Swedish/strings.xml
 create mode 100644 
plugin.image.cheezburger_network/resources/language/Thai/strings.xml
 create mode 100644 
plugin.image.cheezburger_network/resources/language/Turkish/strings.xml
 create mode 100644 
plugin.image.cheezburger_network/resources/language/Ukrainian/strings.xml
 create mode 100644 
plugin.image.cheezburger_network/resources/language/Vietnamese/strings.xml
 copy {plugin.audio.hvsc => plugin.video.netzkino_de}/LICENSE.txt (100%)
 create mode 100644 plugin.video.netzkino_de/addon.py
 create mode 100644 plugin.video.netzkino_de/addon.xml
 create mode 100644 plugin.video.netzkino_de/changelog.txt
 create mode 100644 plugin.video.netzkino_de/icon.png
 copy {plugin.audio.radio_de => plugin.video.netzkino_de}/resources/__init__.py 
(100%)
 create mode 100644 
plugin.video.netzkino_de/resources/language/Belarusian/strings.xml
 create mode 100644 
plugin.video.netzkino_de/resources/language/English/strings.xml
 create mode 100644 
plugin.video.netzkino_de/resources/language/French/strings.xml
 create mode 100644 
plugin.video.netzkino_de/resources/language/German/strings.xml
 create mode 100644 
plugin.video.netzkino_de/resources/language/Greek/strings.xml
 create mode 100644 
plugin.video.netzkino_de/resources/language/Korean/strings.xml
 create mode 100644 
plugin.video.netzkino_de/resources/language/Lithuanian/strings.xml
 create mode 100644 
plugin.video.netzkino_de/resources/language/Polish/strings.xml
 create mode 100644 plugin.video.netzkino_de/resources/language/Portuguese 
(Brazil)/strings.xml
 create mode 100644 
plugin.video.netzkino_de/resources/language/Spanish/strings.xml
 create mode 100644 
plugin.video.netzkino_de/resources/language/Swedish/strings.xml
 copy {plugin.audio.radio_de/resources => 
plugin.video.netzkino_de/resources/lib}/__init__.py (100%)
 create mode 100644 plugin.video.netzkino_de/resources/lib/api.py
 create mode 100644 plugin.video.netzkino_de/resources/settings.xml


hooks/post-receive
-- 
Plugins

------------------------------------------------------------------------------
Monitor your physical, virtual and cloud infrastructure from a single
web console. Get in-depth insight into apps, servers, databases, vmware,
SAP, cloud infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
http://p.sf.net/sfu/zoho_dev2dev_nov
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons

Reply via email to