The branch, dharma has been updated
       via  24d03842fc9fe033279d1df28bb855b5c7d52b99 (commit)
      from  ba04d4786744f8446a802bfdd673aeebef2eca83 (commit)

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

commit 24d03842fc9fe033279d1df28bb855b5c7d52b99
Author: spiff <[email protected]>
Date:   Tue Sep 27 11:47:34 2011 +0200

    [plugin.video.pennyarcadetv] updated to version 1.0.2

diff --git a/plugin.video.pennyarcadetv/addon.xml 
b/plugin.video.pennyarcadetv/addon.xml
index 76ffcff..e4dccef 100644
--- a/plugin.video.pennyarcadetv/addon.xml
+++ b/plugin.video.pennyarcadetv/addon.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>

 <addon id="plugin.video.pennyarcadetv" 

        name="Penny Arcade TV" 

-       version="1.0.1"

+       version="1.0.2"

        provider-name="jorsoban">

   <requires>

     <import addon="xbmc.python" version="1.0"/>

diff --git a/plugin.video.pennyarcadetv/default.py 
b/plugin.video.pennyarcadetv/default.py
index 686bb42..4e1d023 100644
--- a/plugin.video.pennyarcadetv/default.py
+++ b/plugin.video.pennyarcadetv/default.py
@@ -36,31 +36,31 @@ def getHTML(forURL, withPOSTData=None, 
withReferrer=__baseURL__):
     data = response.read()

     response.close()

     return data

-  

+

 def getRedirectURL(forURL, withReferrer=None):

     log("Get redirect for URL: " + forURL)

     req = urllib2.Request(forURL, None, getHeaders(withReferrer))

-    return urllib2.urlopen(req).url 

-  

+    return urllib2.urlopen(req).url

+

 def listShowsAndLatest(showOnlyLatest):

-    #Note: not sure if using set content is worth the effort since there isn"t 
much 

+    #Note: not sure if using set content is worth the effort since there isn"t 
much

     #metadata available for these episodes other than title and image

     #xbmcplugin.setContent(pluginHandle, "tvshows")

     showsPage = BeautifulSoup(getHTML(forURL=__baseURL__ + "/patv"), 
convertEntities=BeautifulSoup.HTML_ENTITIES)

-  

+

     titleRegex = re.compile("Season (?P<s>[0-9]): Episode (?P<ep>[0-9]+) - 
(?P<title>.+)")

     onlyNumberRegex = re.compile("Season (?P<s>[0-9]): Episode (?P<ep>[0-9]+)")

-  

+

     #Parse the current ep and show links from the root page

     infoDivs = showsPage.findAll("div",attrs={"class":"info"})

     foundShows = []

     foundEps = []

-  

+

     #Get a list of found shows and current episodes

     for div in infoDivs:

         try:

             links = div.findAll("a")

-            

+

             if links[0]["title"] == "Watch Now":

                 ep = {}

                 #Show title

@@ -68,7 +68,7 @@ def listShowsAndLatest(showOnlyLatest):
 

                 #Episode title

                 titleParts = titleRegex.match(links[2]["title"]) or 
onlyNumberRegex.match(links[2]["title"])

-                if(titleParts is not None): 

+                if(titleParts is not None):

                     titleParts = titleParts.groupdict()

                     ep["title"] += " - %sx%s" % (titleParts["s"], 
titleParts["ep"])

                     if "title" in titleParts:

@@ -78,8 +78,8 @@ def listShowsAndLatest(showOnlyLatest):
                     ep["title"] = links[2]["title"]

 

                 #Image and url

-                ep["imgurl"] = __baseURL__ + div.parent.img["src"]

-                ep["url"] = __baseURL__ + links[0]["href"]

+                ep["imgurl"] = div.parent.img["src"]

+                ep["url"] = links[0]["href"]

 

                 foundEps.append(ep)

             else:

@@ -87,14 +87,14 @@ def listShowsAndLatest(showOnlyLatest):
                 #that shows the info without having other fields left empty..

                 show = {}

                 show["title"] = links[0]["title"]

-                show["imgurl"] = __baseURL__ + div.parent.a.img["src"]

-                show["url"] = __baseURL__ + links[0]["href"]

+                show["imgurl"] = div.parent.a.img["src"]

+                show["url"] = links[0]["href"]

                 foundShows.append(show)

         except:

             log("Issue with parsing show or ep div.")

             log(div)

             continue

-          

+

     #Add the found shows

     if not __latestInSub__ or (__latestInSub__ and not showOnlyLatest) :

         for show in foundShows:

@@ -105,7 +105,7 @@ def listShowsAndLatest(showOnlyLatest):
                 isFolder=True,

                 url=pluginPath + "?action=listshowepisodes&url=" + show["url"],

                 listitem=li)

-    

+

     #Add latest directory if necessary

     if __latestInSub__ and not showOnlyLatest :

         xbmcplugin.addDirectoryItem(

@@ -113,10 +113,10 @@ def listShowsAndLatest(showOnlyLatest):
             isFolder=True,

             url=pluginPath + "?action=listlatestepisodes",

             listitem=xbmcgui.ListItem(__strings__(30051)))

-    

+

     #Add latest episodes if necessary

     if not __latestInSub__ or showOnlyLatest :

-        for ep in foundEps: 

+        for ep in foundEps:

             li = xbmcgui.ListItem(ep["title"], thumbnailImage=ep["imgurl"])

             li.setProperty("IsPlayable", "true")

             xbmcplugin.addDirectoryItem(

@@ -136,86 +136,86 @@ def addEpisodeItem(name, url, img):
         listitem=li)

 

 def listShowEpisodes(url):

-    #TODO - not sure if using set content is worth the effort since there 
isn"t much 

+    #TODO - not sure if using set content is worth the effort since there 
isn"t much

     #metadata available for these episodes other than title and image

     #xbmcplugin.setContent(pluginHandle, "episodes")

-    urlRegex = re.compile("/.*/.*/(.*?)/")

+    urlRegex = re.compile("http://.*/.*/.*/(.*?)/")

     episodesPage = BeautifulSoup(getHTML(forURL=url), 
convertEntities=BeautifulSoup.HTML_ENTITIES)

 

     epLists = episodesPage.findAll(attrs={"class" : "episodes"})

     if not epLists:

         epLists = episodesPage.findAll(attrs={"id" : "episodes"})

-  

+

     #passing counter into format ep name for non number episodes

     seasonCounter = len(epLists)

     for epList in epLists:

         for ep in epList.findAll("li"):

             aTags = ep.findAll("a")

-            img = __baseURL__ + ep.img["src"]

-            url = __baseURL__ + aTags[0]["href"]

+            img = ep.img["src"]

+            url = aTags[0]["href"]

             name = formatEpName(aTags[0]["href"], aTags[1].contents[2], 
urlRegex, seasonCounter)

             addEpisodeItem(name, url, img)

         seasonCounter -= 1

 

     xbmcplugin.endOfDirectory(pluginHandle)

-  

+

 def formatEpName(url, epName, urlRegex, seasonCt):

     #for urls that don"t have trailing / so they will work with regex

     if url[-1] != "/":

         url += "/"

-  

+

     #some eps in penny arcade series have non-number episodes

     epPart = urlRegex.match(url).groups()[0]

-    try: 

+    try:

         test = int(epPart)

         finalName = epPart[0] + "x" + epPart[1:] + " - "

     except:

         finalName = "%sx00 - " % (seasonCt)

-  

+

     idx = epName.find(":")

     if idx != -1:

         finalName += epName[idx+2:]

     else:

         finalName += epName

-    

+

     return finalName

-    

+

 def playVideo(url):

     #Start at video page http://www.penny-arcade.com/patv/[show]/[episode]

     #Get the embed tag on the video page as the first step to get the final url

     videoPage = BeautifulSoup(getHTML(forURL=url))

     #Assuming a single embed tag works for now

-    embedUrl = videoPage("embed")[0]["src"]

+    embedUrl = videoPage("iframe")[0]["src"]

 

     #embedUrl redirects to another Url that has a QS param for a Url to the 
rss file for this specific video

     #4 is to get the query portion of the final url, not sure why the named 
attribute doesn"t work..

     redirectUrl = urlparse.urlparse(getRedirectURL(forURL=embedUrl))

-    redirectQS = parse_qs(redirectUrl[4])

+    redirectQS = parse_qs(redirectUrl[5])

     rssFileUrl = redirectQS["file"][0]

     rssFile = BeautifulStoneSoup(getHTML(forURL=rssFileUrl))

 

     #assuming first is default, if not true for all will need to alter this.

     mediaTags = rssFile("media:content")

-    

+

     #todo - should probably add a default choice, need to be sure what's all 
available first

     choices = []

     for mTag in mediaTags:

         size = float(mTag["filesize"]) / (1024*1024)

         choices.append("%s (%sx%s) (%.2f MB)" % 
(mTag["blip:role"],mTag["width"],mTag["height"], size))

-        

+

     selected = xbmcgui.Dialog().select(__strings__(30052), choices)

-    

-    #todo - should figure out how to gracefully not play something if they 
back out of 

+

+    #todo - should figure out how to gracefully not play something if they 
back out of

     #selection

     if selected == -1:

         selected = 0

-        

+

     finalVideoUrl = mediaTags[selected]["url"]

 

     #set the final url as the resolved url

     resolvedItem = xbmcgui.ListItem(path=finalVideoUrl)

     xbmcplugin.setResolvedUrl(pluginHandle, True, resolvedItem)

-  

+

 #Set default action

 action="listshowsandlatest"

 

@@ -224,7 +224,7 @@ params = parse_qs(pluginQuery[1:])
 

 if len(params) > 0:

   action = params["action"][0]

-  

+

 if action == "listshowsandlatest":

   listShowsAndLatest(showOnlyLatest=False)

 elif action == "listlatestepisodes":

@@ -232,4 +232,4 @@ elif action == "listlatestepisodes":
 elif action == "listshowepisodes":

   listShowEpisodes(params["url"][0])

 elif action == "playvideo":

-  playVideo(params["url"][0])
\ No newline at end of file
+  playVideo(params["url"][0])


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

Summary of changes:
 plugin.video.pennyarcadetv/addon.xml  |    2 +-
 plugin.video.pennyarcadetv/default.py |   76 ++++++++++++++++----------------
 2 files changed, 39 insertions(+), 39 deletions(-)


hooks/post-receive
-- 
Plugins

------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2dcopy1
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons

Reply via email to