rendered paste bodyimport xbmc, xbmcgui, sys, os, Imagesys.path.append('Q:\\system\\python\\Lib')Root = os.getcwd()[:-1]+"\\"#url = 'http://imdb.com/title/tt0429589/'url = 'http://www.imdb.com/title/tt0315824/'#url = 'http://www.imdb.com/title/tt0177971/'level = 'Gallery'class IMDb_Gallery(xbmcgui.Window): def __init__(self): import guibuilder guibuilder.GUIBuilder(self, Root + '\\XMLs\\Gallery.xml', Root + '\\Movies') if (not self.SUCCEEDED): self.exitScript() self.addControl(xbmcgui.ControlImage(220, 120, 145, 205, Root + "Movies\\Titles\\" + Title + "\\Cover.jpg", aspectRatio=2)) self.Thumb = xbmcgui.ControlImage(376, 260, 275, 247, Root + "Movies\\Titles\\" + Title + "\\Galleries\\Gallery_0.jpg" , aspectRatio=2) self.addControl(self.Thumb) self.controls[20].addLabel(Title) self.controls[21].addLabel(Languages) self.controls[22].addLabel(Countries) self.controls[23].addLabel(Color) self.controls[24].addLabel(Cert) self.controls[25].addLabel(Sound) for a in GalleryFiles: self.controls[30].addItem(a) self.controls[30].controlLeft(self.controls[74]) self.controls[30].controlRight(self.controls[74]) self.controls[74].controlLeft(self.controls[30]) self.controls[74].controlRight(self.controls[30]) self.setFocus(self.controls[74]) def exitScript(self): self.close() def onAction(self, action): global position, galLink, level position = self.controls[30].getSelectedPosition() if action == 10: self.close() if action == 117: xbmc.executebuiltin('XBMC.ActivateWindow(scriptsdebuginfo)') if action == 3 or action == 4: if self.getFocus() == self.controls[30]: if level == 'Gallery': galLink = GalleryLinks[self.controls[30].getSelectedPosition()] print galLink[36:] self.Thumb.setImage(Root + "Movies\\Titles\\" + Title + "\\Galleries\\" + GalleryFiles[self.controls[30].getSelectedPosition()]) if level == 'Thumbs': self.Thumb.setImage(Root + "Movies\\Titles\\" + Title + "\\Thumbs\\" + galLink[36:] + "\\" + thumbs[self.controls[30].getSelectedPosition()]) if action == 9: if self.getFocus() == self.controls[30]: if level == 'Gallery': pass if level == 'Thumbs': Galleries() self.controls[30].reset() for a in GalleryFiles: self.controls[30].addItem(a) level = 'Gallery' def onControl(self, control): global level, thumbs, galLink if control == self.controls[30]: #galLink = GalleryLinks[self.controls[30].getSelectedPosition()] if level == 'Gallery': Thumbs() level = 'Thumbs' self.Thumb.setImage(Root + "Movies\\Titles\\" + Title + "\\Thumbs\\" + galLink[36:] + "\\Thumb_0.jpg") self.controls[30].reset() for a in thumbs: self.controls[30].addItem(a) def DirStructure(): if os.path.exists(Root + "Movies\\Titles\\" + Title + "\\Galleries\\"): pass else: os.makedirs(Root + "Movies\\Titles\\" + Title + "\\Galleries\\") if os.path.exists(Root + "Movies\\Titles\\" + Title + "\\Thumbs\\"): pass else: os.makedirs(Root + "Movies\\Titles\\" + Title + "\\Thumbs\\") def IMDbInfo(): import IMDbLib, urllib global Title, Languages, Countries, Color, Cert, Sound movieinfo = IMDbLib.IMDb(url) Title = str(movieinfo.Title) Languages = str(movieinfo.Languages).replace("'","").replace("[","").replace("]","") Countries = str(movieinfo.Countries).replace("'","").replace("[","").replace("]","") Color = str(movieinfo.Color).replace("'","").replace("[","").replace("]","") Cert = str(movieinfo.Cert).replace("'","").replace("[","").replace("]","") Sound = str(movieinfo.Sound).replace("'","").replace("[","").replace("]","") CoverURL = IMDbLib.IMDbGallery(url).CoverURL if os.path.exists(Root + "Movies\\Titles\\" + Title + "\\Cover.jpg"): os.remove(Root + "Movies\\Titles\\" + Title + "\\Cover.jpg") try: urllib.urlretrieve(CoverURL[0],Root + "Movies\\Titles\\" + Title + "\\Cover.jpg") except: passdef Galleries(): import IMDbLib, urllib global GalleryLinks, GalleryFiles GalleryURLs = IMDbLib.IMDbGallery(url + 'photogallery').Gal1_info GalleryLinks = GalleryURLs.keys() for cnt, gallery in enumerate(GalleryURLs.values()): loc = urllib.URLopener() loc.retrieve(gallery, Root + "Movies\\Titles\\" + Title + "\\Galleries\\Gallery_" + str(cnt) + ".jpg") GalleryFiles = os.listdir(Root + "Movies\\Titles\\" + Title + "\\Galleries\\") def Thumbs(): import IMDbLib, urllib global thumbs, level ThumbURLs = IMDbLib.IMDbGallery(galLink).Gal2_info print ThumbURLs if os.path.exists(Root + "Movies\\Titles\\" + Title + "\\Thumbs\\" + galLink[36:] + "\\"): print "path exists: " + Root + "Movies\\Titles\\" + Title + "\\Thumbs\\" + galLink[36:] + "\\" pass else: try: os.makedirs(Root + "Movies\\Titles\\" + Title + "\\Thumbs\\" + galLink[36:] + "\\") except: print "Thumb dir creation failed" for cnt, thumb in enumerate(ThumbURLs.keys()): try: loc = urllib.URLopener() loc.retrieve(thumb, Root + "Movies\\Titles\\" + Title + "\\Thumbs\\" + galLink[36:] + "\\Thumb_" + str(cnt) + ".jpg") except: print "image download failed: " + Root + "Movies\\Titles\\" + Title + "\\Thumbs\\" + galLink[36:] + "\\" thumbs = os.listdir(Root + "Movies\\Titles\\" + Title + "\\Thumbs\\" + galLink[36:] + "\\")IMDbInfo()DirStructure()Galleries()MyDisplay = IMDb_Gallery()if (MyDisplay.SUCCEEDED): MyDisplay.doModal()del MyDisplay