def getText(self): service = self.source.service info = self.source.info if info and service: if self.type == self.MOVIE_SHORT_DESCRIPTION: if service.type == (eServiceReference.idUser | eServiceReference.idDVB): s = MovieList.getVirtDirStatistics(info.getName(service)) if s: return s event = self.source.event if event: descr = info.getInfoString(service, iServiceInformation.sDescription) if descr == "": return event.getShortDescription() else: return descr elif self.type == self.MOVIE_META_DESCRIPTION: return info.getInfoString(service, iServiceInformation.sDescription) elif self.type == self.MOVIE_REC_SERVICE_NAME: rec_ref_str = info.getInfoString(service, iServiceInformation.sServiceref) return ServiceReference(rec_ref_str).getServiceName() elif self.type == self.MOVIE_REC_FILESIZE: filesize = info.getInfoObject(service, iServiceInformation.sFileSize) if filesize is not None: return "%d MB" % (filesize / (1024*1024)) return ""
def getText(self): service = self.source.service info = self.source.info if info and service: if self.type == self.MOVIE_SHORT_DESCRIPTION: if service.type == (eServiceReference.idUser | eServiceReference.idDVB): s = MovieList.getVirtDirStatistics(info.getName(service)) if s: return s event = self.source.event if event: descr = info.getInfoString( service, iServiceInformation.sDescription) if descr == "": return event.getShortDescription() else: return descr elif self.type == self.MOVIE_META_DESCRIPTION: return info.getInfoString(service, iServiceInformation.sDescription) elif self.type == self.MOVIE_REC_SERVICE_NAME: rec_ref_str = info.getInfoString( service, iServiceInformation.sServiceref) return ServiceReference(rec_ref_str).getServiceName() elif self.type == self.MOVIE_REC_FILESIZE: filesize = info.getFileSize(service) if filesize is not None: return "%d MB" % (filesize / (1024 * 1024)) return ""
def __init__(self, session): logger.info("self.return_dir: %s, self.return_path: %s", self.return_dir, self.return_path) if self.current_sort_mode is None: self.current_sort_mode = config.plugins.moviecockpit.list_sort.value self["list"] = self.movie_list = MovieList(self.current_sort_mode) Screen.__init__(self, session) HelpableScreen.__init__(self) Actions.__init__(self, self) CutList.__init__(self) SelfTest.__init__(self) self.skinName = getSkinName("MovieCockpit") self["actions"] = self.initActions( self, self.skinName != getSkinName("NoSupport")) self["mini_tv"] = Pixmap() self["pic_loading"] = Pixmap() self["no_support"] = Label() self["sort_mode"] = Label() self.loading = Loading(self["pic_loading"], self.summaries) self["Service"] = COCServiceEvent(ServiceCenter.getInstance()) self["DiskSpace"] = COCDiskSpace(self) self["Cover"] = COCCover(self) self.enable_minit_tv = False self.last_service = None self.short_key = True # used for long / short key press detection self.delay_timer = eTimer() self.delay_timer_conn = self.delay_timer.timeout.connect( self.updateInfoDelayed) self.onShow.append(self.onDialogShow) self.onHide.append(self.onDialogHide) self.movie_list.onSelectionChanged.append(self.selectionChanged) self.updateTitle()
def __init__(self, session, selectedmovie=None): # print "[SF-Plugin] SF:MovieSelection.init, PWD=%s; selmv=%s" % (config.movielist.last_videodir.value, str(selectedmovie)) Screen.__init__(self, session) HelpableScreen.__init__(self) self.tags = [] if selectedmovie: self.selected_tags = config.movielist.last_selected_tags.value else: self.selected_tags = None self.selected_tags_ele = None self.toggletype = 0 self.movemode = False self.bouquet_mark_edit = False self.delayTimer = eTimer() self.delayTimer.callback.append(self.updateHDDData) self["waitingtext"] = Label(_("Please wait... Loading list...")) # create optional description border and hide immediately self["DescriptionBorder"] = Pixmap() self["DescriptionBorder"].hide() if not fileExists(config.movielist.last_videodir.value): config.movielist.last_videodir.value = defaultMoviePath() config.movielist.last_videodir.save() # print "[SF-Plugin] MovieSelection.MovieSelection: save" + config.movielist.last_videodir.value self.current_ref = eServiceReference("2:0:1:0:0:0:0:0:0:0:" + config.movielist.last_videodir.value) self["list"] = MovieList(None, config.movielist.sflisttype.value, config.movielist.sfmoviesort.value, config.movielist.sftimes.value, config.movielist.sftitle_episode_separator.value, self) self.list = self["list"] self.selectedmovie = selectedmovie # Need list for init SelectionEventInfo.__init__(self) self["key_red"] = Button(_("All")) self["key_green"] = Button("") self["key_yellow"] = Button("") self["key_blue"] = Button("") self["freeDiskSpace"] = self.diskinfo = DiskInfo(config.movielist.last_videodir.value, DiskInfo.FREE, update=False) if config.usage.setup_level.index >= 2: # expert+ self["InfobarActions"] = HelpableActionMap(self, "InfobarActions", { "showMovies": (self.doPathSelect, _("select the movie path")), }) self["MovieSelectionActions"] = HelpableActionMap(self, "MovieSelectionActions", { "contextMenu": (self.doContext, _("menu")), "showEventInfo": (self.showEventInformation, _("show event details")), }) self["ColorActions"] = HelpableActionMap(self, "ColorActions", { "red": (self.showAll, _("show all")), "green": (self.showTagsFirst, _("show first selected tag")), "yellow": (self.showTagsSecond, _("show second selected tag")), "blue": (self.showTagsSelect, _("show tag menu")), }) self["OkCancelActions"] = HelpableActionMap(self, "OkCancelActions", { "cancel": (self.abort, _("exit movielist")), "ok": (self.movieSelected, _("select movie")), }) self["NumberActions"] = HelpableActionMap(self, "SetupActions", { "0": (self.toggleSort, _x("Toggle date / alphabetic sort mode")), "deleteBackward": (self.moveToIndexStrt, _x("Jump to listbegin")), "deleteForward": (self.moveToIndexEnd, _x("Jump to listend")), "5": (self.toggleMinimal, _x("Toggle style minimal / compact")), "8": (self.toggleTags, _x("Toggle description / tags display")), }) self.onShown.append(self.go) self.onLayoutFinish.append(self.saveListsize) self.inited = False
fd.write(query) fd.close() # Write delimited data to CSV file def writeCsv(self): file_name = self.file_name + EXT_CSV f_path = os.path.join(self.file_path, file_name) data = self.movieList.getString() fd = codecs.open(f_path, mode="w", encoding='utf-8') fd.write(data) fd.close() if __name__ == '__main__': API_KEY = "447ecf40bf72a3fa6218f3024465a567" movieNew = Movie() movieList = MovieList() movieSearch = MovieSearch(API_KEY) movieId = movieSearch.getId("Pi") movieNew = movieSearch.getDetails(movieId, "credits") movieList.setMovie(movieNew) movieId = movieSearch.getId("1408") movieNew = movieSearch.getDetails(movieId, "credits") movieList.setMovie(movieNew) tempMovieWrite = MovieWrite("./", "temp", movieList) tempMovieWrite.writeCsv() tempMovieWrite.writeSql()
def __init__(self, api_key, mediaType = "movie"): self.movieList = MovieList() self.movieSearch = MovieSearch(api_key, mediaType) self.titles = [] self.failed = []
class MovieDriver: # Constructor def __init__(self, api_key, mediaType = "movie"): self.movieList = MovieList() self.movieSearch = MovieSearch(api_key, mediaType) self.titles = [] self.failed = [] # Read movie titles from file def readFile(self): f_path = "" while not os.path.isdir(f_path): f_path = raw_input("ENTER FILE PATH: ") print "FILES" print "---------------------------" f_list = os.listdir(f_path) for f_name in f_list: print f_name f_name = "" while f_name not in f_list: f_name = raw_input("ENTER FILE NAME: ") print "READING MOVIES TITLES FROM FILE..." file_path = os.path.join(f_path, f_name) fd = open(file_path, "r") for title in fd.readlines(): self.titles.append(title.rstrip()) fd.close() # Read keyboard input def readInput(self): titleInput = "" print "INPUT MOVIE TITLES" while True: titleInput = raw_input("(end to exit): ") if titleInput == 'end': break self.titles.append(titleInput.rstrip()) # Print movie titles def printTitles(self): print "MOVIE TITLES:" print "---------------------------" for title in self.titles: print title # Write movie details to file def writeFile(self, toWrite = 'csv'): f_path = "" while not os.path.isdir(f_path): f_path = raw_input("ENTER FILE PATH: ") f_name = raw_input("ENTER FILE NAME: ") movieWrite = MovieWrite(f_path, f_name, self.movieList) if toWrite == 'csv': movieWrite.writeCsv() else: movieWrite.writeSql() if self.failed: fail_name = f_name + EXT_FAIL fail_path = os.path.join(f_path, fail_name) fd = open(fail_path, "w") for title in self.failed: fd.write(title + "\n") fd.close() # Write movie details to display def writeDisplay(self): print "ID TITLE RELEASE" print "-------- ----------------------------------------------------------- ----------" tempList = self.movieList.getMovieList() for k in tempList: print "%s %s %s" % (k.getId().rjust(8), (k.getTitle()[0:59].encode('ascii', 'replace')).ljust(59), k.getReleaseDate()) # Search movie details by ID def searchId(self, append = None): movieNew = Movie() for movieId in self.titles: print "Retrieving for %s..." % movieId movieNew = self.movieSearch.getDetails(movieId, append) self.movieList.setMovie(movieNew) # Search movie details by title def searchMovies(self, append = None): movieNew = Movie() for name in self.titles: prntTitle = (name.rstrip())[0:59] print "Searching for %s..." % prntTitle movieId = self.movieSearch.getId(name) if movieId is not None: movieNew = self.movieSearch.getDetails(movieId, append) self.movieList.setMovie(movieNew) else: self.failed.append(name)
def __init__(self, api_key, mediaType="movie"): self.movieList = MovieList() self.movieSearch = MovieSearch(api_key, mediaType) self.titles = [] self.failed = []
class MovieDriver: # Constructor def __init__(self, api_key, mediaType="movie"): self.movieList = MovieList() self.movieSearch = MovieSearch(api_key, mediaType) self.titles = [] self.failed = [] # Read movie titles from file def readFile(self): f_path = "" while not os.path.isdir(f_path): f_path = raw_input("ENTER FILE PATH: ") print "FILES" print "---------------------------" f_list = os.listdir(f_path) for f_name in f_list: print f_name f_name = "" while f_name not in f_list: f_name = raw_input("ENTER FILE NAME: ") print "READING MOVIES TITLES FROM FILE..." file_path = os.path.join(f_path, f_name) fd = open(file_path, "r") for title in fd.readlines(): self.titles.append(title.rstrip()) fd.close() # Read keyboard input def readInput(self): titleInput = "" print "INPUT MOVIE TITLES" while True: titleInput = raw_input("(end to exit): ") if titleInput == 'end': break self.titles.append(titleInput.rstrip()) # Print movie titles def printTitles(self): print "MOVIE TITLES:" print "---------------------------" for title in self.titles: print title # Write movie details to file def writeFile(self, toWrite='csv'): f_path = "" while not os.path.isdir(f_path): f_path = raw_input("ENTER FILE PATH: ") f_name = raw_input("ENTER FILE NAME: ") movieWrite = MovieWrite(f_path, f_name, self.movieList) if toWrite == 'csv': movieWrite.writeCsv() else: movieWrite.writeSql() if self.failed: fail_name = f_name + EXT_FAIL fail_path = os.path.join(f_path, fail_name) fd = open(fail_path, "w") for title in self.failed: fd.write(title + "\n") fd.close() # Write movie details to display def writeDisplay(self): print "ID TITLE RELEASE" print "-------- ----------------------------------------------------------- ----------" tempList = self.movieList.getMovieList() for k in tempList: print "%s %s %s" % (k.getId().rjust(8), (k.getTitle()[0:59].encode( 'ascii', 'replace')).ljust(59), k.getReleaseDate()) # Search movie details by ID def searchId(self, append=None): movieNew = Movie() for movieId in self.titles: print "Retrieving for %s..." % movieId movieNew = self.movieSearch.getDetails(movieId, append) self.movieList.setMovie(movieNew) # Search movie details by title def searchMovies(self, append=None): movieNew = Movie() for name in self.titles: prntTitle = (name.rstrip())[0:59] print "Searching for %s..." % prntTitle movieId = self.movieSearch.getId(name) if movieId is not None: movieNew = self.movieSearch.getDetails(movieId, append) self.movieList.setMovie(movieNew) else: self.failed.append(name)
query = query.rstrip(", ") + ")\n" fd.write(query) fd.close() # Write delimited data to CSV file def writeCsv(self): file_name = self.file_name + EXT_CSV f_path = os.path.join(self.file_path, file_name) data = self.movieList.getString() fd = codecs.open(f_path, mode="w", encoding='utf-8') fd.write(data) fd.close() if __name__=='__main__': API_KEY = "447ecf40bf72a3fa6218f3024465a567" movieNew = Movie() movieList = MovieList() movieSearch = MovieSearch(API_KEY) movieId = movieSearch.getId("Pi") movieNew = movieSearch.getDetails(movieId, "credits") movieList.setMovie(movieNew) movieId = movieSearch.getId("1408") movieNew = movieSearch.getDetails(movieId, "credits") movieList.setMovie(movieNew) tempMovieWrite = MovieWrite("./", "temp", movieList) tempMovieWrite.writeCsv() tempMovieWrite.writeSql()
def __init__(self, session): Screen.__init__(self, session) SelectionEventInfo.__init__(self) CoolWide = getDesktop(0).size().width() skinpath = str(resolveFilename) self.skinName = "MovieSelectionSP" if CoolWide == 720: skin = "/usr/lib/enigma2/python/Plugins/Extensions/Suomipoeka/CoolSkin/MovieSelectionSP_720.xml" elif CoolWide == 1024: skin = "/usr/lib/enigma2/python/Plugins/Extensions/Suomipoeka/CoolSkin/MovieSelectionSP_1024.xml" else: skin = "/usr/lib/enigma2/python/Plugins/Extensions/Suomipoeka/CoolSkin/MovieSelectionSP_1280.xml" Cool = open(skin) self.skin = Cool.read() Cool.close() self.wasClosed = True self.playerInstance = None self.selectIdx = -1 self.cursorDir = 0 self.currentGrnText = _("Alpha sort") self["wait"] = Label(_("Reading directory...")) self["list"] = MovieList() self["key_red"] = Button() self["key_green"] = Button() self["key_yellow"] = Button() self["key_blue"] = Button() global gMS gMS = self self["actions"] = HelpableActionMap( self, "PluginMovieSelectionActions", { "bOK": (self.movieSelected, _("Play selected movie(s)")), "bOKL": (self.unUsed, "-"), "bEXIT": (self.abort, _("Close movie list")), "bMENU": (self.openMenu, _("Open menu")), "bINFO": (self.showEventInformation, _("Show event info")), "bINFOL": (self.unUsed, "-"), "bRed": (self.deleteFile, _("Delete file or empty dir")), "bGreen": (self.toggleSort, _("Toggle sort mode")), "bYellow": (self.moveMovie, _("Move selected movie(s)")), "bBlue": (self.blueFunc, _("Movie home / Play last (configurable)")), "bRedL": (self.unUsed, "-"), "bGreenL": (self.unUsed, "-"), "bYellowL": (self.openScriptMenu, _("Open shell script menu")), "bBlueL": (self.openBookmarks, _("Open bookmarks")), "bLeftUp": (self.keyPress, _("Move cursor page up")), "bRightUp": (self.keyPress, _("Move cursor page down")), "bUpUp": (self.keyPressU, _("Move cursor up")), "bDownUp": (self.keyPressD, _("Move cursor down")), "bBqtPlus": (self.bouquetPlus, _("Move cursor 1/2 page up")), "bBqtMnus": (self.bouquetMinus, _("Move cursor 1/2 page down")), "bArrowR": (self.unUsed, "-"), "bArrowRL": (self.unUsed, "-"), "bArrowL": (self.unUsed, "-"), "bArrowLL": (self.unUsed, "-"), "bVIDEO": (self.selectionToggle, _("Toggle service selection")), "bAUDIO": (self.openMenuPlugins, _("Available plugins menu")), "bAUDIOL": (self.unUsed, "-"), "bMENUL": (self.openMenuPlugins, _("Available plugins menu")), "bTV": (self.reloadList, _("Reload movie file list")), "bTVL": (self.unUsed, "-"), "bRADIO": (self.viewedToggle, _("Toggle viewed / not viewed")), "bRADIOL": (self.unUsed, "-"), "bTEXT": (self.multiSelect, _("Start / end multiselection")), "bTEXTL": (self.unUsed, "-") }) self["actions"].csel = self HelpableScreen.__init__(self) self.currentPathSel = config.suomipoeka.movie_homepath.value self.parentStack = [] self.onExecBegin.append(self.onDialogShow)