All pastes #57499 Raw Edit

Untitled

public python v1 · immutable
#57499 ·published 2006-05-21 07:45 UTC
rendered paste body
import urllib, urllib2import re, os, sys, shutilfrom string import split, replace, findimport xbmc, xbmcguifrom StringIO import StringIOtry: Emulating = xbmcgui.Emulatingexcept: Emulating = False#imdb_ID = "tt0167260"imdb_ID = "tt0076759"imdb_Detail = []imdb_Title = []imdb_Director = []imdb_Writer = []imdb_Genre = []imdb_Year = []imdb_Tagline = []imdb_Plot = []imdb_Rating = []imdb_Runtime = []imdb_Pic = []imdb_PicH = []imdb_PicW = []Root = os.getcwd()[:-1]+"\\"NTSC_4x3 = 4# width = int(w) + 10# height = int(h) + 10""" An HTML Genre sample for recompiling on line 21: """#   <a href="/Sections/Genres/Action/">Action</a> / <a href="/Sections/Genres/Adventure/">Adventure</a> / <a href="/Sections/Genres/Fantasy/">Fantasy</a> / <a href="/Sections/Genres/Sci-Fi/">Sci-Fi</a> <a href="/rg/title-tease/keywords/title/tt0076759/keywords">(more)</a>""" The script as-is prints the imdb_Genre entry like the line below when executed: """#   ['Genre:          Action/">Action</a> / <a href="/Sections/Genres/Adventure/">Adventure</a> / <a href="/Sections/Genres/Fantasy/">Fantasy</a> / <a href="/Sections/Genres/Sci-Fi']""" I need imdb_Genre to recompile all of the  "Sections/Genres/(.*)/"  and have those entries print a line like the example: """#   Action / Adventure / Fantasy / Sci-Ficlass imdb_Info(xbmcgui.Window):    def __init__(self):        if Emulating: xbmcgui.Window.__init__(self)        self.setCoordinateResolution(NTSC_4x3)        self.imdbgetInfo()#        global imdb_PicW, imdb_PicH        w = str(imdb_PicW)[2:-2]        h = str(imdb_PicH)[2:-2]        width = int(w) + 10        height = int(h) + 10        """ Add your GUI images to your script here: """        self.addControl(xbmcgui.ControlImage(0, 0, 720, 480, "Background.png"))        self.addControl(xbmcgui.ControlImage(50, 15, 247, 70, Root + "Images\\NZBsRus-Logo.png"))        self.addControl(xbmcgui.ControlImage(220, 103, int(1 * width), int(1 * height), Root + "Images\\MovieIcon.jpg"))        self.addControl(xbmcgui.ControlLabel(215, 65, 500, 30, 'IMDb Movie Information:', font="special13"))        self.addControl(xbmcgui.ControlLabel(400, 130, 400, 15, 'Director:', font="font10"))        self.addControl(xbmcgui.ControlLabel(400, 145, 400, 15, 'Writer:', font="font10"))        self.addControl(xbmcgui.ControlLabel(400, 160, 400, 15, 'Genre:', font="font10"))        self.addControl(xbmcgui.ControlLabel(400, 175, 400, 15, 'Year:', font="font10"))        self.addControl(xbmcgui.ControlLabel(400, 190, 400, 15, 'Tagline:', font="font10"))        self.addControl(xbmcgui.ControlLabel(400, 205, 400, 15, 'Plot Outline:', font="font10"))        self.addControl(xbmcgui.ControlLabel(400, 220, 400, 15, 'Rating:', font="font10"))        self.addControl(xbmcgui.ControlLabel(400, 235, 400, 15, 'Runtime:', font="font10"))        self.TextBox = xbmcgui.ControlTextBox(220, 275, 410, 150, "font12")        self.Title = xbmcgui.ControlFadeLabel(400, 94, 150, 15, font="special13")        self.Director = xbmcgui.ControlFadeLabel(500, 130, 115, 15, font="font10")        self.Writer = xbmcgui.ControlFadeLabel(500, 145, 115, 15, font="font10")        self.Genre = xbmcgui.ControlFadeLabel(500, 160, 115, 15, font="font10")        self.Year = xbmcgui.ControlFadeLabel(500, 175, 115, 15, font="font10")        self.Tagline = xbmcgui.ControlFadeLabel(500, 190, 115, 15, font="font10")        self.Plot = xbmcgui.ControlFadeLabel(500, 205, 115, 15, font="font10")        self.Rating = xbmcgui.ControlFadeLabel(500, 220, 115, 15, font="font10")        self.Runtime = xbmcgui.ControlFadeLabel(500, 235, 115, 15, font="font10")        self.addControl(self.TextBox)        self.addControl(self.Title)        self.addControl(self.Director)        self.addControl(self.Writer)        self.addControl(self.Genre)        self.addControl(self.Year)        self.addControl(self.Tagline)        self.addControl(self.Plot)        self.addControl(self.Rating)        self.addControl(self.Runtime)        self.setFocus(self.TextBox)                        self.TextBox.setText(str(imdb_Detail)[2:-2])        self.Title.addLabel(str(imdb_Title)[2:-2])        self.Director.addLabel(str(imdb_Director)[2:-2])        self.Writer.addLabel(str(imdb_Writer)[2:-2])        self.Genre.addLabel(str(imdb_Genre)[2:-2])        self.Year.addLabel(str(imdb_Year)[2:-2])        self.Tagline.addLabel(str(imdb_Tagline)[2:-2])        self.Plot.addLabel(str(imdb_Plot)[2:-2])        self.Rating.addLabel(str(imdb_Rating)[2:-2])        self.Runtime.addLabel(str(imdb_Runtime)[2:-2])    def onAction(self, action):        if action == 10 or action == 117:            self.close()    def imdbgetInfo(self):        global imdb_ID, imdb_Detail, imdb_Title, imdb_Director, imdb_Writer, imdb_Genre, imdb_Year, imdb_Tagline, imdb_Plot, imdb_Rating, imdb_Runtime, imdb_Pic, imdb_PicH, imdb_PicW        imdb_Details = urllib.urlopen("http://www.imdb.com/title/" + imdb_ID + "/plotsummary")        imdb_Info = urllib.urlopen("http://www.imdb.com/title/" + imdb_ID + "/")        imdb_HTML1 = imdb_Details.read()        imdb_HTML2 = imdb_Info.read()        imdb_Details.close()        imdb_Info.close()                imdb_re_Details = re.compile('<p class="plotpar">(.*)</p>')        imdb_re_Title = re.compile('<title>(.*)</title>')        imdb_re_Director = re.compile('Directed by</b><br>\n<a href="/name/nm(.*)/">(.*)</a><br>')        imdb_re_Writer = re.compile('Writing credits</b>\n(.*)\n<br>\n<a href="/name/nm(.*)/">(.*)</a>')        imdb_re_Genre = re.compile('<a href="/Sections/Genres/(.*?)/')        imdb_re_Year = re.compile('<a href="/Sections/Years/(.*)">(.*)</a>')        imdb_re_Tagline = re.compile('class="ch">Tagline:</b>(.*)<a href="(.*)</a>')        imdb_re_Plot = re.compile('class="ch">Plot Outline:</b>(.*)<a href="/rg/title-tease/plotsummary/title/(.*)/plotsummary">')        imdb_re_Rating = re.compile('<b>(.*)</b> (.*)\n<a href="/rg/title-tease/rating-vote/title/(.*)/ratings">(.*?)')        imdb_re_Runtime = re.compile('<b class="ch">Runtime:</b>\n(.*?)\n<br>')        imdb_re_Pic = re.compile('name="poster" href="photogallery" title="(.*)"><img border="0" alt="(.*)" title="(.*)" src="(.*?)m.jpg" height="(.*)" width="(.*)">')        imdb_List1 = imdb_re_Details.findall(imdb_HTML1)        imdb_List2 = imdb_re_Title.findall(imdb_HTML2)        imdb_List3 = imdb_re_Director.findall(imdb_HTML2)        imdb_List4 = imdb_re_Writer.findall(imdb_HTML2)        imdb_List5 = imdb_re_Genre.findall(imdb_HTML2)        imdb_List6 = imdb_re_Year.findall(imdb_HTML2)        imdb_List7 = imdb_re_Tagline.findall(imdb_HTML2)        imdb_List8 = imdb_re_Plot.findall(imdb_HTML2)        imdb_List9 = imdb_re_Rating.findall(imdb_HTML2)        imdb_List10 = imdb_re_Runtime.findall(imdb_HTML2)        imdb_List11 = imdb_re_Pic.findall(imdb_HTML2)                imdb_Detail[0:50] = ""        imdb_Title[0:50] = ""        imdb_Director[0:50] = ""        imdb_Writer[0:50] = ""        imdb_Genre[0:50] = ""        imdb_Year[0:50] = ""        imdb_Tagline[0:50] = ""        imdb_Plot[0:50] = ""        imdb_Rating[0:50] = ""        imdb_Runtime[0:50] = ""        imdb_Pic[0:50] = ""        imdb_PicH[0:50] = ""        imdb_PicW[0:50] = ""        for a,b,c,d,e,f,g,h,i,j,k in zip(imdb_List1,imdb_List2,imdb_List3,imdb_List4,imdb_List5,imdb_List6,imdb_List7,imdb_List8,imdb_List9,imdb_List10,imdb_List11):            Plot = '%s' % (h[0])            Rating = '%s  %s' % (i[0],i[1])            imdb_Detail.append(a)            imdb_Title.append(b)            imdb_Director.append(c[1])            imdb_Writer.append(d[2])            imdb_Genre.append(str(e))            imdb_Year.append(f[1])            imdb_Tagline.append(g[0])            imdb_Plot.append(h[0])            imdb_Rating.append(Rating)            imdb_Runtime.append(j)            imdb_Pic.append(k[3])            imdb_PicH.append(k[4])            imdb_PicW.append(k[5])            print str(imdb_Detail)[2:-2]            print str(imdb_Title)[2:-2]            print str(imdb_Director)[2:-2]            print str(imdb_Writer)[2:-2]            print str(imdb_Genre)[2:-2]            print str(imdb_Year)[2:-2]            print str(imdb_Tagline)[2:-2]            print str(imdb_Plot)[2:-2]            print str(imdb_Rating)[2:-2]            print str(imdb_Runtime)[2:-2]            print str(imdb_Pic)[2:-2] + "m.jpg"            print str(imdb_PicH)[2:-2]            print str(imdb_PicW)[2:-2]        if os.path.exists(Root + "Images\\MovieIcon.jpg"):            shutil.rmtree(Root + "Images\\MovieIcon.jpg", ignore_errors=True, onerror=None)            urllib.urlretrieve(str(imdb_Pic)[2:-2] + "m.jpg",Root + "Images\\MovieIcon.jpg")def main():    mainwin = imdb_Info()    mainwin.doModal()    del mainwinif __name__ == "__main__":    main()