def __init__(self, session): global Manager if Manager is None: from Plugins.Extensions.ProjectValerie.DMC_Plugins.DMC_SyncExtras.Manager import Manager self.manager = Manager("NewestEpisodes") DMC_Library.__init__(self, session, "tv shows - newest")
def setSeen(id, seen): global manager if manager is None: from Plugins.Extensions.ProjectValerie.DMC_Plugins.DMC_SyncExtras.Manager import Manager manager = Manager("DMC_SEEN") userId = config.plugins.pvmc.seenuserid.value if seen: # manager.MarkAsSeen(id, None) manager.MarkAsSeen(id, userId) else: manager.MarkAsUnseen(id, userId)
def action(self, request): global utf8ToLatin global Manager if utf8ToLatin is None: from Plugins.Extensions.ProjectValerie.DMC_Plugins.DMC_SyncExtras.Utf8 import utf8ToLatin if Manager is None: from Plugins.Extensions.ProjectValerie.DMC_Plugins.DMC_SyncExtras.Manager import Manager finalOutput = WebHelper().getHtmlCore("Home") # update checker broken so set fixed values - steve4744 #currentVersion = Update().getInstalledRevision() currentVersion = "r1280" manager = Manager("WebIf:MainActions") movieCount = str(manager.getMoviesCount()) tvShowCount = str(manager.getSeriesCount()) episodeCount = str(manager.getEpisodesCount()) # update checker broken so set fixed values - steve4744 #updateType = Update().getCurrentUpdateType() #latestRevision = Update().getLatestRevision() updateType = "Release" latestRevision = "r1280" finalOutput = finalOutput.replace("<!-- MOVIE_COUNT -->", movieCount) finalOutput = finalOutput.replace("<!-- TVSHOW_COUNT -->", tvShowCount) finalOutput = finalOutput.replace("<!-- EPISODE_COUNT -->", episodeCount) revisionText = """ <br> Your update type => %s.<br> The latest release for your update type is %s.<br> """ % (updateType, latestRevision) finalOutput = finalOutput.replace( "<!-- CURRENT_VERSION -->", "Your installed revision => " + currentVersion) finalOutput = finalOutput.replace("<!-- LATEST_VERSION -->", revisionText) return utf8ToLatin(finalOutput)
def __init__(self, session, args): global Manager global utf8ToLatin if Manager is None: from Plugins.Extensions.ProjectValerie.DMC_Plugins.DMC_SyncExtras.Manager import Manager if utf8ToLatin is None: from Plugins.Extensions.ProjectValerie.DMC_Plugins.DMC_SyncExtras.Utf8 import utf8ToLatin self.session = session self.service = config.plugins.pvmc.plugins.subdown.provider.value self.language_1 = config.plugins.pvmc.plugins.subdown.language1.value self.language_2 = config.plugins.pvmc.plugins.subdown.language2.value self.language_3 = config.plugins.pvmc.plugins.subdown.language3.value year = str(args["Year"]) title = args["Title"] # + " (" + str(year) + ")" if args.has_key("Season"): season = str(args["Season"]) episode = str(args["Episode"]) #tvshowEntry = Manager("SubtitleDownloader").getElement_ByUsingPrimaryKey(Manager.TVSHOWS, \ # dict({'thetvdbid': args["TheTvDbId"]})) tvshowEntry = Manager("SubtitleDownloader").getMedia(args["Id"]) tvshow = tvshowEntry.Title else: season = "" episode = "" tvshow = "" self.file_original_path = args["Path"] set_temp = False rar = False self.tmp_sub_dir = "/tmp/subdir" try: shutil.rmtree(str(self.tmp_sub_dir)) except Exception, ex: printl("Exception: " + str(ex), __name__, "E")
def getData(self, type, param=None): global Manager if Manager is None: from Plugins.Extensions.ProjectValerie.DMC_Plugins.DMC_SyncExtras.Manager import Manager global ManagerInstance if ManagerInstance is None: ManagerInstance = Manager("WebIf:WebData") dataRows = [] printl("TYPE: " + type) if type == "movies": dataRows = ManagerInstance.getMoviesValues() elif type == "tvshows": dataRows = ManagerInstance.getSeriesValues() elif type == "episodes": if param != None: dataRows = ManagerInstance.getEpisodesWithTheTvDbId(param) else: dataRows = ManagerInstance.getEpisodes() elif type == "EpisodesOfSerie": dataRows = ManagerInstance.getEpisodes(param) elif type == "failed": dataRows = ManagerInstance.getFailedValues() elif type == "MediaInfo_isMovie": dataRows = ManagerInstance.getMedia(param) elif type == "MediaInfo_isTvShow": dataRows = ManagerInstance.getMedia(param) elif type == "MediaInfo_isEpisode": dataRows = ManagerInstance.getMedia(param) elif type == "MediaInfo_isFailed": dataRows = ManagerInstance.getMedia(param) elif type == "MediaInfo_isSeen": userId = config.plugins.pvmc.seenuserid.value dataRows = ManagerInstance.isMediaSeen(param, userId) elif type == "MediaInfo_markSeen": userId = config.plugins.pvmc.seenuserid.value dataRows = ManagerInstance.MarkAsSeen(param, userId) elif type == "MediaInfo_markUnseen": userId = config.plugins.pvmc.seenuserid.value dataRows = ManagerInstance.MarkAsUnseen(param, userId) elif type == "options.global": from Plugins.Extensions.ProjectValerie.__plugin__ import getPlugins, Plugin dataRows = [] plugins = getPlugins(where=Plugin.SETTINGS) for plugin in plugins: pluginSettingsList = plugin.fnc() for pluginSetting in pluginSettingsList: if len(plugin.name) > 0: text = "[%s] %s" % (plugin.name, pluginSetting[0], ) else: text = "%s" % (pluginSetting[0], ) dataRows.append((text, pluginSetting[1])) elif type == "options.sync": from Plugins.Extensions.ProjectValerie.DMC_Plugins.DMC_SyncExtras.PathsConfig import PathsConfig dataRows = PathsConfig().getInstance() return dataRows
def action(self, request): global Manager global utf8ToLatin global MediaInfo if Manager is None: from Plugins.Extensions.ProjectValerie.DMC_Plugins.DMC_SyncExtras.Manager import Manager if utf8ToLatin is None: from Plugins.Extensions.ProjectValerie.DMC_Plugins.DMC_SyncExtras.Utf8 import utf8ToLatin if MediaInfo is None: from Plugins.Extensions.ProjectValerie.DMC_Plugins.DMC_SyncExtras.MediaInfo import MediaInfo printl("request: " + str(request), self) printl("request.args: " + str(request.args), self) printl("request.args[mode]: " + str(request.args["mode"]), self) ########################## # OPTIONS SECTION # Argument: request.args["mode"][0] == "options.saveconfig" # request.args["what"][0] == "settings_global" | "settings_sync" ########################## if request.args["mode"][0] == "options.saveconfig": printl("mode (options.saveconfig)", self, "I") what = request.args["what"][0] #settings_global if what == "settings_global": name = request.args["name"][0] value = "unchecked" if request.args.has_key("value"): value = request.args["value"][0] valueType = request.args["type"][0] printl( "name=\"%s\" value=\"%s\" type=\"%s\"" % (name, value, valueType), self, "D") entries = WebData().getData("options.global") for entry in entries: if entry[0] == name: if valueType == "text" or valueType == "select": printl("Setting \"%s\" to \"%s\"" % (name, value), self, "I") entry[1].value = value elif valueType == "checkbox": if value == "checked" or value == "on": value = True else: value = False printl("Setting \"%s\" to \"%s\"" % (name, value), self, "I") entry[1].value = value entry[1].save() # settins_sync elif what == "settings_sync": printl("argument => what = settings_sync", self, "I") if request.args["section"][0] == "paths": printl("argument => section = path", self, "I") id = request.args["Id"][0] directory = request.args["directory"][0] typeFolder = request.args["type"][0] enabled = request.args.has_key("enabled") useFolder = request.args.has_key("usefolder") path = { "directory": directory, "enabled": enabled, "usefolder": useFolder, "type": typeFolder } action = "standard" from Plugins.Extensions.ProjectValerie.DMC_Plugins.DMC_SyncExtras.PathsConfig import PathsConfig if directory == "": action = "delete" PathsConfig().getInstance().setPath(id, path, action) PathsConfig().getInstance().save() elif request.args["section"][0] == "filetypes": printl("argument => section = filetypes", self, "I") value = request.args["value"][0] from Plugins.Extensions.ProjectValerie.DMC_Plugins.DMC_SyncExtras.PathsConfig import PathsConfig PathsConfig().getInstance().setFileTypes(value.split("|")) PathsConfig().getInstance().save() return WebHelper().redirectMeTo("/options") ########################## # DUMP DATABASE - view via webif http://url:8888/dumps # Argument: request.args["mode"][0] == "dumpDb" ########################## elif request.args["mode"][0] == "dumpDb": printl("mode (dumpDb)", self, "I") Manager("WebIf:SubActions:WebFunctions").getDbDump() return WebHelper().redirectMeTo("/dumps") ########################## # BACKUP SECTION # Argument: request.args["mode"][0] == "backupValerie" ########################## elif request.args["mode"][0] == "backupValerie": printl("mode (backupValerie)", self, "I") #import zipfile, os #zipf = zipfile.ZipFile('/hdd/valerie-backup.zip', mode='w', compression=zipfile.ZIP_STORED ) #path = utf8ToLatin(config.plugins.pvmc.tmpfolderpath.value) #WebHelper().recursive_zip(zipf, path) #zipf.close() backupFile = '/mnt/net/store/valerie-backup.tar' sourcePath = utf8ToLatin(config.plugins.pvmc.tmpfolderpath.value) os.system("tar -cvf " + backupFile + " " + sourcePath + " --exclude 'tmp/*' --exclude 'tmp'") return WebHelper().redirectMeTo("/elog/") ########################## # RESTORE SECTION - do not use for now fills up the flash => freeze # Argument: request.args["mode"][0] == "restoreValerie" # Information: http://webpython.codepoint.net/cgi_file_upload ########################## elif request.args["mode"][0] == "restoreValerie": printl("mode (restoreValerie)", self, "I") outputStream = open(filename, '/hdd/test.zip') outputStream.write(request.args['myFile']) outputStream.close()
def action(self, request): global Manager global utf8ToLatin global stringToUtf8 global MediaInfo if Manager is None: from Plugins.Extensions.ProjectValerie.DMC_Plugins.DMC_SyncExtras.Manager import Manager if stringToUtf8 is None: from Plugins.Extensions.ProjectValerie.DMC_Plugins.DMC_SyncExtras.Utf8 import stringToUtf8 if utf8ToLatin is None: from Plugins.Extensions.ProjectValerie.DMC_Plugins.DMC_SyncExtras.Utf8 import utf8ToLatin if MediaInfo is None: from Plugins.Extensions.ProjectValerie.DMC_Plugins.DMC_SyncExtras.MediaInfo import MediaInfo printl("request: " + str(request), self) printl("request.args: " + str(request.args), self) printl("request.args[mode]: " + str(request.args["mode"]), self) ########################## # ADD SECTION # Argument: request.args["mode"][0] == "addMediaToDb" # Subargument: request.args["type"][0] == "isMovie" | "isTvShow" | "isEpisode" # request.args["ParentId"][0] == Integer ########################## if request.args["mode"][0] == "addMediaToDb": printl("mode (addMediaToDb)", self, "I") manager = Manager("WebIf:SubActions:MediaActions") type = request.args["type"][0] if (type == "isEpisode"): parentId = request.args["ParentId"][0] key_value_dict = {} for key in request.args.keys(): key_value_dict[key] = request.args[key][0] # add movies if type == "isMovie": printl("INSERT MOVIE : " + str(key_value_dict), self, "I") result = manager.insertMediaWithDict(Manager.MOVIES, key_value_dict) if result["status"] > 0: return WebHelper().redirectMeTo( "/movies?mode=showDoneForm&showSave=true") else: return WebHelper().redirectMeTo( "/mediaForm?mode=showErrorForm&type=isMovie&" + urlencode({'msg': result["message"]})) # add tvshows elif type == "isTvShow": printl("INSERT TVSHOW : " + str(key_value_dict), self, "I") result = manager.insertMediaWithDict(Manager.TVSHOWS, key_value_dict) if result["status"] > 0: return WebHelper().redirectMeTo( "/tvshows?mode=showDoneForm&showSave=true") else: return WebHelper().redirectMeTo( "/mediaForm?mode=showErrorForm&type=isTvShow&" + urlencode({'msg': result["message"]})) # add tvshowepisodes elif type == "isEpisode": printl("INSERT EPISODE: " + str(key_value_dict), self, "I") result = manager.insertMediaWithDict(Manager.TVSHOWSEPISODES, key_value_dict) if result["status"] > 0: return WebHelper().redirectMeTo( "/episodes?mode=showDoneForm&ParentId=" + parentId + "&showSave=true") else: return WebHelper().redirectMeTo( "/mediaForm?mode=showErrorForm&type=isEpisode&ParentId=" + parentId + "&" + urlencode({'msg': result["message"]})) ########################## # EDIT SECTION # Argument: request.args["mode"][0] == "alterMediaInDb" # Subargument: request.args["type"][0] == "isMovie" | "isTvShow" | "isEpisode" # request.args["Id"][0] == Integer # request.args["ParentId"][0] == Integer ########################## elif request.args["mode"][0] == "alterMediaInDb": printl("mode (alterMediaInDb)", self, "I") manager = Manager("WebIf:SubActions:MediaActions") type = stringToUtf8(request.args["type"][0]) Id = request.args["Id"][0] if (type == "isEpisode"): parentId = request.args["ParentId"][0] key_value_dict = {} for key in request.args.keys(): # key_value_dict[key] = stringToUtf8(request.args[key][0]) key_value_dict[key] = request.args[key][0] printl("Content: " + key + " => " + request.args[key][0], self, "I") if not "Seen" in request.args: WebData().getData("MediaInfo_markUnseen", Id) else: if (request.args["Seen"][0] == "on"): WebData().getData("MediaInfo_markSeen", Id) # edit movies if type == "isMovie": result = manager.updateMediaWithDict(Manager.MOVIES, key_value_dict) printl("alter Movie in Db", self, "I") if result is True: printl("TRUE", self, "I") return WebHelper().redirectMeTo( "/movies?mode=showDoneForm&Id=" + Id + "&showSave=true") else: printl("FALSE", self, "I") return WebHelper().redirectMeTo( "/mediaForm?mode=showErrorForm&type=isMovie&Id=" + Id) # edit tvshows elif type == "isTvShow": result = manager.updateMediaWithDict(Manager.TVSHOWS, key_value_dict) if result: return WebHelper().redirectMeTo( "/tvshows?mode=showDoneForm&Id=" + Id + "&showSave=true") else: return WebHelper().redirectMeTo( "/mediaForm?mode=showErrorForm&type=isTvShow&Id=" + Id) # edit tvsshowepisodes elif type == "isEpisode": result = manager.updateMediaWithDict(Manager.TVSHOWSEPISODES, key_value_dict) if result: return WebHelper().redirectMeTo( "/episodes?mode=showDoneForm&Id=" + Id + "&ParentId=" + parentId + "&showSave=true") else: return WebHelper().redirectMeTo( "/mediaForm?mode=showErrorForm&type=isEpisode&ParentId=" + parentId + "&Id=" + Id) ########################## # DELETE SECTION # Argument: request.args["mode"][0] == "deleteMediaFromDb" # Subargument: request.args["Id"][0] == Integer # request.args["ParentId"][0] == Integer # request.args["type"][0] == "isMovie" | "isTvShow" | "isEpisode" ########################## elif request.args["mode"][0] == "deleteMediaFromDb": printl("mode (deleteMediaFromDb)", self, "I") manager = Manager("WebIf:SubActions:MediaActions") id = request.args["Id"][0] type = request.args["type"][0] if (type == "isEpisode"): parentId = request.args["ParentId"][0] result = manager.deleteMedia(id) #delete movie if type == "isMovie": if result: return WebHelper().redirectMeTo( "/movies?mode=showDoneForm&showSave=true") else: return WebHelper().redirectMeTo( "/mediaForm?mode=showErrorForm&type=isMovie") # delete tvshowepisodes elif type == "isEpisode": if result: return WebHelper().redirectMeTo( "/episodes?mode=showDoneForm&ParentId=" + parentId + "&showSave=true") else: return WebHelper().redirectMeTo( "/mediaForm?mode=showErrorForm&tpye=isEpisode&ParentId=" + parentId) # delete tvshow elif type == "isTvShow": if result: return WebHelper().redirectMeTo( "/tvshows?mode=showDoneForm&showSave=true") else: return WebHelper().redirectMeTo( "/mediaForm?mode=showErrorForm&type=isTvShow") # delete failed elif type == "isFailed": if result: return WebHelper().redirectMeTo("/failed?showSave=true") else: return WebHelper().redirectMeTo( "/mediaForm?mode=showErrorForm&type=isTvShow") ########################## # CHANGE ARTS SECTION # Argument: request.args["mode"][0] == "changeMediaArts" # Subargument: request.args["Id"][0] == Integer # request.args["type"][0] == "isMovie" | "isTvShow" | "isEpisode" # request.args["media_type"][0] == "poster" | "backdrop" # request.args["media_source"][0] == String ########################## elif request.args["mode"][0] == "changeMediaArts": printl("mode (changeMediaArts)", self, "I") manager = Manager("WebIf:SubActions:MediaActions") type = request.args["type"][0] media_source = request.args["media_source"][0] media_type = request.args["media_type"][0] Id = request.args["Id"][0] printl("media_source => " + media_source + ")", self, "I") if (media_source[0:7] != "user://"): if (media_source[0:7] == "http://" or media_source[0:8] == "https://" or media_source[0:1] == "/"): media_source = "user://" + media_source printl( "media_source without user:// found => correcting to new value = " + media_source, self, "I") else: printl( "media_source seems to have bad format at all - trying it anyway without warranty ;-)", self, "W") else: printl("media_source with user:// found => no changes needed", self, "I") #change movie art if type == "isMovie": t = Manager.MOVIES #change tvshow art elif type == "isTvShow": t = Manager.TVSHOWS #change episode art elif type == "isEpisode": t = Manager.TVSHOWSEPISODES else: return utf8ToLatin("error") if media_type == "poster": result = manager.changeMediaArts(t, Id, True, None, media_source) if result == True: return utf8ToLatin("success") else: return utf8ToLatin("error") elif media_type == "backdrop": result = manager.changeMediaArts(t, Id, True, media_source, None) if result == True: return utf8ToLatin("success") else: return utf8ToLatin("error") else: printl("no media type found", self) return utf8ToLatin("error") return utf8ToLatin("error") ########################## # SAVE TO DB # Argument: request.args["mode"][0] == "saveChangesToDb" ########################## elif request.args["mode"][0] == "saveChangesToDb": printl("mode (saveChangesToDb)", self, "I") manager = Manager("WebIf:SubActions:MediaActions") manager.finish() if request.args["return_to"][0] == "movies": return WebHelper().redirectMeTo("/movies") elif request.args["return_to"][0] == "tvshows": return WebHelper().redirectMeTo("/tvshows") elif request.args["return_to"][0] == "episodes": return WebHelper().redirectMeTo("/episodes") elif request.args["return_to"][0] == "failed": return WebHelper().redirectMeTo("/failed") ########################## # MOVE TO FAILED SECTION # Argument: request.args["mode"][0] == "moveToFailedSection" # Subargument: request.args["Id"][0] == Integer ########################## elif request.args["mode"][0] == "moveToFailedSection": manager = Manager("WebIf:SubActions:MediaActions") type = request.args["type"][0] Id = request.args["Id"][0] result = manager.moveToFailedSection(Id, type) if (type == "isEpisode"): parentId = request.args["ParentId"][0] #delete movie if type == "isMovie": if result: return WebHelper().redirectMeTo( "/movies?mode=showDoneForm&showSave=true") else: return WebHelper().redirectMeTo( "/mediaForm?mode=showErrorForm&type=isMovie") # delete tvshowepisodes elif type == "isEpisode": if result: return WebHelper().redirectMeTo( "/episodes?mode=showDoneForm&ParentId=" + parentId + "&showSave=true") else: return WebHelper().redirectMeTo( "/mediaForm?mode=showErrorForm&tpye=isEpisode&ParentId=" + parentId) # delete tvshow elif type == "isTvShow": if result: return WebHelper().redirectMeTo( "/tvshows?mode=showDoneForm&showSave=true") else: return WebHelper().redirectMeTo( "/mediaForm?mode=showErrorForm&type=isTvShow")
def action(self, request): global MediaInfo if MediaInfo is None: from Plugins.Extensions.ProjectValerie.DMC_Plugins.DMC_SyncExtras.MediaInfo import MediaInfo global utf8ToLatin if utf8ToLatin is None: from Plugins.Extensions.ProjectValerie.DMC_Plugins.DMC_SyncExtras.Utf8 import utf8ToLatin global Manager if Manager is None: from Plugins.Extensions.ProjectValerie.DMC_Plugins.DMC_SyncExtras.Manager import Manager finalOutput = WebHelper().getHtmlCore("MediaInfo", True) Id = None ParentId = None imdbId = u"" theTvDbId = u"" currentMode = request.args["mode"][0] if "type" in request.args: type = request.args["type"][0] else: type = u"" ####################### # DONE MODE ####################### if currentMode == "showDoneForm": return finalOutput ####################### # GET MEDIA DETAILS FOR WEBIF ####################### elif currentMode == "getMediaDetails": Id = request.args["Id"][0] data = self._getMediaDetails(type, int(Id)) response = data.Path + "/" + data.Filename + "." + data.Extension return str(response) ####################### # ERROR MODE ###################### elif currentMode == "showErrorForm": return finalOutput ####################### # EDIT MODE ####################### elif currentMode == 'showEditForm': nextMode = "alterMediaInDb" finalOutput = finalOutput.replace("<!-- CUSTOM_TITLE -->", " - Edit Media") Id = request.args["Id"][0] m = self._getMediaDetails(type, int(Id)) ####################### # ADDBYIMDB MODE ####################### elif currentMode == 'showAddByImdbForm': fileData = None if "Id" in request.args: if request.args["Id"][0] == "": nextMode = "addMediaToDb" else: printl("ID => " + request.args["Id"][0], self, "D") nextMode = "alterMediaInDb" fileData = self._getMediaDetails( type, int(request.args["Id"][0])) else: nextMode = "addMediaToDb" finalOutput = finalOutput.replace("<!-- CUSTOM_TITLE -->", " - Add Media") m = MediaInfo() m.ImdbId = "" m.SearchString = "" if type == "isEpisode": type = "isSerie" # we need to do this because Manger.syncelemnts uses this name not the name till now isTvShow if fileData is not None: path = fileData.Path filename = fileData.Filename extension = fileData.Extension else: path = u"test" filename = u"test" extension = u"test" if type == "isMovie": m.ImdbId = request.args["ImdbId"][0] printl("showAddByImdbForm: " + str(request.args["ImdbId"][0]) + " " + str(type)) syncData = Manager("WebIf:SubActions:MediaForm").syncElement( path, filename, extension, m.ImdbId, False) m = syncData[0] if type == "isSerie": m.ImdbId = request.args["ImdbId"][0] printl("showAddByImdbForm: " + str(request.args["ImdbId"][0]) + " " + str(type)) syncData = Manager("WebIf:SubActions:MediaForm").syncElement( path, filename, extension, m.ImdbId, True) m = syncData[0] ####################### # ADDBYTITLE MODE ####################### elif currentMode == 'showAlternativesForm': nextMode = "showAddByImdbForm" finalOutput = finalOutput.replace("<!-- CUSTOM_TITLE -->", " - Add Media") mediainfo.SearchString = request.args["Title"][0] results = Manager("WebIf:SubActions:MediaForm").searchAlternatives( mediainfo) ####################### # MOVETOFAILED ####################### elif currentMode == 'moveToFailed': nextMode = "showAddByImdbForm" #hier sollte mehr stehen lol if "Id" in request.args: Id = request.args["Id"][0] else: Id = u"" if "ParentId" in request.args: ParentId = request.args["ParentId"][0] else: ParentId = u"" image = u"" backdrop = u"" mediaFolderPath = config.plugins.pvmc.mediafolderpath.value mediaForm = WebHelper().getHtmlForm("mediaForm") ####################### # ADD MODE ####################### if currentMode == "showManualAddForm": nextMode = "addMediaToDb" mediaForm = mediaForm % (type, nextMode, u"", ParentId, type, u"", u"", u"", u"", u"", u"", u"", u"", u"", u"", u"", u"", u"", u"", u"", u"", u"", 0) else: if type == "isMovie": if os.path.isfile(mediaFolderPath + m.ImdbId + "_poster_195x267.png"): image = """<img id="duck_img" src="%s" width="78" height="107" alt="n/a"></img>""" % ( "/media/" + str(m.ImdbId) + "_poster_195x267.png") else: image = """<img src=\"http://val.duckbox.info/convertImg2/poster/%s_195x267.png\" width="78" height="107" alt="n/a"></img>""" % ( str(m.ImdbId)) if os.path.isfile(mediaFolderPath + str(m.ImdbId) + "_backdrop_320x180.png"): backdrop = """<img id="duck_backdrop_img" src="%s" width="160" height="90" alt="n/a"></img>""" % ( "/media/" + str(m.ImdbId) + "_backdrop_320x180.png") else: backdrop = """<img src=\"http://val.duckbox.info/convertImg2/backdrop/%s_320x180.png\" width="160" height="90" alt="n/a">""" % ( str(m.ImdbId)) elif type == "isTvShow" or type == "isEpisode": if os.path.isfile(mediaFolderPath + str(m.TheTvDbId) + "_poster_195x267.png"): image = """<img id="duck_img" src="%s" width="78" height="107" alt="n/a"></img>""" % ( "/media/" + str(m.TheTvDbId) + "_poster_195x267.png") else: image = """<img src=\"http://val.duckbox.info/convertImg2/poster/%s_195x267.png\" width="78" height="107" alt="n/a"></img>""" % ( str(m.TheTvDbId)) if os.path.isfile(mediaFolderPath + str(m.TheTvDbId) + "_backdrop_320x180.png"): backdrop = """<img id="duck_backdrop_img" src="%s" width="160" height="90" alt="n/a"></img>""" % ( "/media/" + str(m.TheTvDbId) + "_backdrop_320x180.png") else: backdrop = """<img src=\"http://val.duckbox.info/convertImg2/backdrop/%s_320x180.png\" width="160" height="90" alt="n/a">""" % ( str(m.TheTvDbId)) seenCheck = "" if WebData().getData("MediaInfo_isSeen", m.Id): seenCheck = 'checked' printl("nextMode = " + nextMode, self, "W") if m.ParentId == None: m.ParentId = u"" mediaForm = mediaForm % ( type, nextMode, Id, m.ParentId, type, Id, m.ImdbId, m.TheTvDbId, m.Title, m.Tag, m.Season, m.Disc, m.Episode, m.EpisodeLast, m.Plot, m.Runtime, m.Year, m.Genres, self._getPopularity( m.Popularity), m.Path, m.Filename, m.Extension, seenCheck) finalOutput = finalOutput.replace("<!-- CUSTOM_IMAGE -->", image) finalOutput = finalOutput.replace("<!-- CUSTOM_BACKDROP -->", backdrop) finalOutput = finalOutput.replace("<!-- CUSTOM_FORM -->", mediaForm) return utf8ToLatin(finalOutput)