Exemple #1
0
    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)
	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)
Exemple #3
0
    def action(self, request):
        global utf8ToLatin
        global MediaInfo
        global MobileImdbComProvider

        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
        if MobileImdbComProvider is None:
            from Plugins.Extensions.ProjectValerie.DMC_Plugins.DMC_SyncExtras.MobileImdbComProvider import MobileImdbComProvider

        finalOutput = WebHelper().getHtmlCore("Alternatives", True)

        tableHeader = WebHelper().readFileContent(
            u"/DMC_Plugins/DMC_WebInterfaceExtras/content/custom/Alternatives/Header.tpl"
        )
        tableBody = u""

        mediainfo = MediaInfo()
        mediainfo.ImdbId = ""
        mediainfo.SearchString = ""

        mediainfo.SearchString = request.args["searchString"][0]
        entries = MobileImdbComProvider().getAlternatives(mediainfo)
        if entries is not None:
            for entry in entries:

                entry.type = request.args["type"][0]

                if "Id" in request.args:
                    entry.Id = request.args["Id"][0]
                else:
                    entry.Id = u""

                if "Path" in request.args:
                    entry.Path = request.args["Path"][0]
                else:
                    entry.Path = u""
                if "Filename" in request.args:
                    entry.Filename = request.args["Filename"][0]
                else:
                    entry.Filename = u""
                if "Extension" in request.args:
                    entry.Extension = request.args["Extension"][0]
                else:
                    entry.Extension = u""

                evtApply = self._getApplyAlternativeString(entry)

                tableBody += u"""   <tr>
									<td>%s</td>
									<td><a href=http://www.imdb.com/title/%s/ target="_blank">%s</a></td>
									<td>%s</td>
									<td>%s</td>
									<td>
										<a href="#" onclick="%s"><img class="action_img" src="/content/global/img/apply.png" alt="apply" title="apply" /></a>
									</td>
									</tr>
							""" % (entry.Year, entry.ImdbId, entry.ImdbId, utf8ToLatin(
                    entry.Title), entry.IsTVSeries, evtApply)

        finalOutput = finalOutput.replace("<!-- CUSTOM_THEAD -->", tableHeader)
        finalOutput = finalOutput.replace("<!-- CUSTOM_TBODY -->", tableBody)

        return utf8ToLatin(finalOutput)
	def action(self, request):
		global utf8ToLatin
		global MediaInfo
		global MobileImdbComProvider
		
		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
		if MobileImdbComProvider is None:
			from Plugins.Extensions.ProjectValerie.DMC_Plugins.DMC_SyncExtras.MobileImdbComProvider import MobileImdbComProvider
				
		finalOutput = WebHelper().getHtmlCore("Alternatives", True)
		
		tableHeader = WebHelper().readFileContent(u"/DMC_Plugins/DMC_WebInterfaceExtras/content/custom/Alternatives/Header.tpl")
		tableBody = u""
		
		mediainfo = MediaInfo()
		mediainfo.ImdbId = "";
		mediainfo.SearchString = "";

		mediainfo.SearchString = request.args["searchString"][0]
		entries = MobileImdbComProvider().getAlternatives(mediainfo)
		if entries is not None:
			for entry in entries:
				
				entry.type = request.args["type"][0]
				
				if "Id" in request.args:
					entry.Id = request.args["Id"][0]
				else:
					entry.Id = u""
	
				if "Path" in request.args:
					entry.Path = request.args["Path"][0]
				else:
					entry.Path = u""
				if "Filename" in request.args:
					entry.Filename = request.args["Filename"][0]
				else:
					entry.Filename = u""
				if "Extension" in request.args:
					entry.Extension = request.args["Extension"][0]
				else:
					entry.Extension = u""
			
			
				evtApply = self._getApplyAlternativeString(entry)
				
				tableBody += u"""   <tr>
									<td>%s</td>
									<td><a href=http://www.imdb.com/title/%s/ target="_blank">%s</a></td>
									<td>%s</td>
									<td>%s</td>
									<td>
										<a href="#" onclick="%s"><img class="action_img" src="/content/global/img/apply.png" alt="apply" title="apply" /></a>
									</td>
									</tr>
							""" % (entry.Year, entry.ImdbId, entry.ImdbId, utf8ToLatin(entry.Title), entry.IsTVSeries, evtApply)
			
		
		finalOutput = finalOutput.replace("<!-- CUSTOM_THEAD -->", tableHeader)
		finalOutput = finalOutput.replace("<!-- CUSTOM_TBODY -->", tableBody)
		
		return utf8ToLatin(finalOutput)