The branch, dharma has been updated
       via  d89883d15937f486ba3d248f38c99edfd1fd76ec (commit)
      from  e0720eae0168328179d3a5a331f86864c42a07d5 (commit)

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

commit d89883d15937f486ba3d248f38c99edfd1fd76ec
Author: spiff <[email protected]>
Date:   Thu Mar 24 20:22:40 2011 +0100

    [plugin.video.xbmcflicks] updated to version 1.0.16

diff --git a/plugin.video.xbmcflicks/addon.xml 
b/plugin.video.xbmcflicks/addon.xml
index b787642..68ccd2a 100644
--- a/plugin.video.xbmcflicks/addon.xml
+++ b/plugin.video.xbmcflicks/addon.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <addon id="plugin.video.xbmcflicks"
        name="XBMC Flicks - Netflix for XBMC"
-       version="1.0.15"
+       version="1.0.16"
        provider-name="TeamUMX">
     <requires>
         <import addon="xbmc.python" version="1.0"/>
diff --git a/plugin.video.xbmcflicks/changelog.txt 
b/plugin.video.xbmcflicks/changelog.txt
index 4e3d8a8..4519f8a 100644
--- a/plugin.video.xbmcflicks/changelog.txt
+++ b/plugin.video.xbmcflicks/changelog.txt
@@ -8,4 +8,5 @@
 1.0.12 - added additional icons for menu items, added option to get new list 
with movie or just tv specified, added parental controls options for the Genre 
Browse, currently used for Disc's (later for Instant watch)
 1.0.13 - added browse by genre to instant watch items, tv shows now appear as 
a folder, when opened they display the episdoes
 1.0.14 - fixed pathing issues by calling actual paths instead of special:// 
pathing for addon launch loc
-1.0.15 - fixed issue with tv episodes (when set to expand) would fail to 
display (invalid setting for director info)
\ No newline at end of file
+1.0.15 - fixed issue with tv episodes (when set to expand) would fail to 
display (invalid setting for director info)
+1.0.16 - fixed issue with tv episodes where some shows would no longer show 
any episodes (the format changed from netflix), fixed issue with OSX launching 
firefox for initial auth (requires firefox to be installed on your system to 
the apps folder)
\ No newline at end of file
diff --git a/plugin.video.xbmcflicks/resources/lib/iqueue.py 
b/plugin.video.xbmcflicks/resources/lib/iqueue.py
index 23d1c84..3044e54 100644
--- a/plugin.video.xbmcflicks/resources/lib/iqueue.py
+++ b/plugin.video.xbmcflicks/resources/lib/iqueue.py
@@ -32,7 +32,7 @@ def __init__(self):
     self.data = []
 
 def startBrowser(url):
-       cmd="open -n '"+url+"'"
+       cmd="open /Applications/Firefox.app '"+url+"'"
        print cmd
        os.system(cmd)
        
@@ -805,7 +805,7 @@ def getMovieDataFromFeed(curX, curQueueItem, bIsEpisode, 
netflix, instantAvail,
             #writeLinkFile(curX.TitleShortLink, curX.Title)
             return curX
         
-    matchAllEpData = re.search(r"(?sm){(u'episode_short'.*?)}", curQueueItem, 
re.DOTALL | re.MULTILINE)
+    matchAllEpData = re.search(r'(?sm){(u{0,1}[\'"]episode_short[\'"].*?)}', 
curQueueItem, re.DOTALL | re.MULTILINE)
     if matchAllEpData:
         data = matchAllEpData.group(1)
     else:
@@ -813,65 +813,77 @@ def getMovieDataFromFeed(curX, curQueueItem, bIsEpisode, 
netflix, instantAvail,
 
     foundMatch = False
     #if still processing, we want to auto-expand the episode lets add the 
folder, and then parse the episodes into that folder
-    for matchAllEp in re.finditer(r"(?sm){(u'episode_short'.*?)}", 
curQueueItem):
+    for matchAllEp in re.finditer('(?sm)(u{0,1}[\'"]episode_short[\'"].*?)}', 
curQueueItem):
         foundMatch = True
-        reobj = re.compile('u\'episode_short\': 
u[\'"](?P<shorttitle>.*?)[\'"], u\'sequence\': (?P<eNum>\\d{1,3}), u\'id\': 
u\'(?P<link>.*?)\', u\'title\': u\'(?P<title>.*)}', re.DOTALL)
-        matchAllEpisodes = reobj.search(matchAllEp.group())
-        if matchAllEpisodes:
-            curXe = XInfo()
-            curXe.Mpaa = curX.Mpaa
-            curXe.Position = curX.Position
-            curXe.Year = curX.Year
-            curXe.Rating = curX.Rating
-            curXe.Runtime = "0"
-            curXe.Genres = curX.Genres
-            curXe.Directors = curX.Directors
-            curXe.FullId = ""
-            curXe.Poster = curX.Poster
-            curXe.Cast = curX.Cast
-
-            curXe.Title = matchAllEpisodes.group("title")
-            curXe.Synop = curXe.Title + "\n\n" + curX.Synop
-            curXe.TvEpisodeEpisodeNum = matchAllEpisodes.group("eNum")
-            if re.search(r"Episode", curQueueItem, re.DOTALL | re.MULTILINE):
-                if(not forceExpand):
-                    curXe.TitleShort = curX.TitleShort + " " + 
matchAllEpisodes.group("shorttitle")
-                else:
-                    curXe.TitleShort = matchAllEpisodes.group("shorttitle")
-            else:
-                if(not forceExpand):
-                    curXe.TitleShort = curX.TitleShort + " " + "Episode: " + 
curXe.TvEpisodeEpisodeNum + " " + matchAllEpisodes.group("shorttitle")
-                else:
-                    curXe.TitleShort = "Episode: " + curXe.TvEpisodeEpisodeNum 
+ " - " + matchAllEpisodes.group("shorttitle")
-
-            curXe.TvShow = True
-            curXe.TvShowLink = curX.TvShowLink
-            curXe.TvShowSeasonID = curX.TvShowSeasonID
-            curXe.TvShowSeriesID = curX.TvShowSeriesID
-            curXe.TvEpisode = True
-            curXe.TvEpisodeNetflixID = matchAllEpisodes.group("link")
+        curXe = XInfo()
+        curXe.Mpaa = curX.Mpaa
+        curXe.Position = curX.Position
+        curXe.Year = curX.Year
+        curXe.Rating = curX.Rating
+        curXe.Runtime = "0"
+        curXe.Genres = curX.Genres
+        curXe.Directors = curX.Directors
+        curXe.FullId = ""
+        curXe.Poster = curX.Poster
+        curXe.Cast = curX.Cast
+
+        matchTitle = re.search('(?sm)u{0,1}[\'"]title[\'"]: 
u{0,1}[\'"](?P<title>.*?)[\'"],', matchAllEp.group())
+        if matchTitle:
+            curXe.Title = str(matchTitle.group("title"))
+       
+        curXe.Synop = curXe.Title + "\n\n" + curX.Synop
+        
+        matchEpNum = re.search('(?sm)u{0,1}[\'"]sequence[\'"]: 
u{0,1}(?P<episodeNum>\\d{1,3})', matchAllEp.group())
+        if matchEpNum:
+            curXe.TvEpisodeEpisodeNum = str(matchEpNum.group("episodeNum"))
+        
+        matchShortTitle = re.search('(?sm)u{0,1}[\'"]episode_short[\'"]: 
u{0,1}[\'"](?P<shorttitle>.*?)[\'"],', matchAllEp.group())
+        if matchShortTitle:
+            shortTitleString = str(matchShortTitle.group("shorttitle"))
             
-            curXe.TvEpisodeEpisodeSeasonNum = 0
-            curXe.IsInstantAvailable = curX.IsInstantAvailable
-            curXe.MaturityLevel = curX.MaturityLevel
-            curXe.AvailableUntil = curX.AvailableUntil
-            curXe.TvEpisodeEpisodeNum = matchAllEpisodes.group("eNum")
-            curXe.TvEpisodeEpisodeSeasonNum = matchAllEpisodes.group("title")
-
-            matchAllEpisodesRealID = 
re.search(r"http://api.netflix.com/catalog/titles/programs/\d{1,15}/(?P<id>\d{1,15})",
 curXe.TvEpisodeNetflixID, re.DOTALL | re.MULTILINE)
-            if matchAllEpisodesRealID:
-                curXe.ID = matchAllEpisodesRealID.group("id").strip()
-                curXe.TitleShortLink = curXe.ID
-                curXe.TitleShortLink.strip()
-                 #add and write file
-                ciName2 = str(curXe.TitleShortLink + '.html')
-                ciPath2 = str(REAL_LINK_PATH)
-                ciFullPath2 = os.path.join(ciPath2, ciName2 )
-                addLink(curXe.TitleShort, ciFullPath2, curXe, curX.ID)
-                writeLinkFile(curXe.TitleShortLink, curXe.Title)
+        if re.search(r"Episode", curQueueItem, re.DOTALL | re.MULTILINE):
+            if(not forceExpand):
+                curXe.TitleShort = curX.TitleShort + " " + shortTitleString
+            else:
+                curXe.TitleShort = shortTitleString
+        else:
+            if(not forceExpand):
+                curXe.TitleShort = curX.TitleShort + " " + "Episode: " + 
curXe.TvEpisodeEpisodeNum + " " + shortTitleString
             else:
-                #don't add it
-                print "not adding episode, couldn't parse id"
+                curXe.TitleShort = "Episode: " + curXe.TvEpisodeEpisodeNum + " 
- " + shortTitleString
+
+        curXe.TvShow = True
+        curXe.TvShowLink = curX.TvShowLink
+        curXe.TvShowSeasonID = curX.TvShowSeasonID
+        curXe.TvShowSeriesID = curX.TvShowSeriesID
+        curXe.TvEpisode = True
+        
+        matchNetflixID = re.search('(?sm)u{0,1}[\'"]id[\'"]: 
u{0,1}[\'"](?P<mgid>.*?)[\'"],', matchAllEp.group())
+        if matchNetflixID:
+            curXe.TvEpisodeNetflixID = str(matchNetflixID.group("mgid"))
+            
+        curXe.TvEpisodeEpisodeSeasonNum = 0
+        curXe.IsInstantAvailable = curX.IsInstantAvailable
+        curXe.MaturityLevel = curX.MaturityLevel
+        curXe.AvailableUntil = curX.AvailableUntil
+        #curXe.TvEpisodeEpisodeNum = matchAllEpisodes.group("eNum")
+        #curXe.TvEpisodeEpisodeSeasonNum = matchAllEpisodes.group("title")
+
+        matchAllEpisodesRealID = 
re.search(r"http://api.netflix.com/catalog/titles/programs/\d{1,15}/(?P<id>\d{1,15})",
 curXe.TvEpisodeNetflixID, re.DOTALL | re.MULTILINE)
+        if matchAllEpisodesRealID:
+            curXe.ID = matchAllEpisodesRealID.group("id").strip()
+            curXe.TitleShortLink = curXe.ID
+            curXe.TitleShortLink.strip()
+            #add and write file
+            ciName2 = str(curXe.TitleShortLink + '.html')
+            ciPath2 = str(REAL_LINK_PATH)
+            ciFullPath2 = os.path.join(ciPath2, ciName2 )
+            addLink(curXe.TitleShort, ciFullPath2, curXe, curX.ID)
+            writeLinkFile(curXe.TitleShortLink, curXe.Title)
+        else:
+            #don't add it
+            print "not adding episode, couldn't parse id"
+    
     if (not foundMatch):
         #this is to cover those tv shows that are just a single episode
         ciName = str(curX.TitleShortLink + '.html')
@@ -880,7 +892,7 @@ def getMovieDataFromFeed(curX, curQueueItem, bIsEpisode, 
netflix, instantAvail,
         addLink(curX.TitleShort,ciFullPath, curX)
         #write the link file
         writeLinkFile(curX.TitleShortLink, curX.Title)
-    #xbmcplugin.endOfDirectory(int(sys.argv[1]))
+
     return curX
 
 def addDir(name,url,mode,iconimage,data):

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

Summary of changes:
 plugin.video.xbmcflicks/addon.xml               |    2 +-
 plugin.video.xbmcflicks/changelog.txt           |    3 +-
 plugin.video.xbmcflicks/resources/lib/iqueue.py |  130 ++++++++++++----------
 3 files changed, 74 insertions(+), 61 deletions(-)


hooks/post-receive
-- 
Plugins

------------------------------------------------------------------------------
Enable your software for Intel(R) Active Management Technology to meet the
growing manageability and security demands of your customers. Businesses
are taking advantage of Intel(R) vPro (TM) technology - will your software 
be a part of the solution? Download the Intel(R) Manageability Checker 
today! http://p.sf.net/sfu/intel-dev2devmar
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons

Reply via email to