コード例 #1
0
ファイル: Manager.py プロジェクト: Rikitik/project-valerie
    def syncElement(self, path, filename, extension, imdbid, istvshow, oldelement=None):
        printl(str(path) + " " + str(filename) + " " + str(extension) + " " + str(imdbid) + " " + str(istvshow), self)

        element = None

        if oldelement is None:
            element = MediaInfo(path, filename, extension)
            element.parse()
            element.ImdbId = imdbid
        else:
            element = oldelement  # .copy()

        if istvshow:
            element.setMediaType(MediaInfo.SERIE)
        else:
            element.setMediaType(MediaInfo.MOVIE)

        results = Sync().syncWithId(element)
        if results is not None:
            return results
        else:
            if istvshow is False:
                element.setMediaType(MediaInfo.SERIE)
            else:
                element.setMediaType(MediaInfo.MOVIE)

            results = Sync().syncWithId(element)
            if results is not None:
                return results
        return None
コード例 #2
0
ファイル: Manager.py プロジェクト: steve4744/project-valerie
    def syncElement(self,
                    path,
                    filename,
                    extension,
                    imdbid,
                    istvshow,
                    oldelement=None):
        printl(
            str(path) + " " + str(filename) + " " + str(extension) + " " +
            str(imdbid) + " " + str(istvshow), self)

        element = None

        if oldelement is None:
            element = MediaInfo(path, filename, extension)
            element.parse()
            element.ImdbId = imdbid
        else:
            element = oldelement  #.copy()

        if istvshow:
            element.setMediaType(MediaInfo.SERIE)
        else:
            element.setMediaType(MediaInfo.MOVIE)

        results = Sync().syncWithId(element)
        if results is not None:
            return results
        else:
            if istvshow is False:
                element.setMediaType(MediaInfo.SERIE)
            else:
                element.setMediaType(MediaInfo.MOVIE)

            results = Sync().syncWithId(element)
            if results is not None:
                return results
        return None
コード例 #3
0
    def importDataToPickleV2(self, session):
        printl("->", self, "S")
        try:
            if session is not None:
                self.mm = session.open(
                    MessageBox,
                    (_("\nConverting data to V2.... \n\nPlease wait... ")),
                    MessageBox.TYPE_INFO)
                #self.mm = self.session.open(Msg)
            printl("Importing Data to PickleV2", self)
            # this will Open Pickle V1 and run upgrades if necessary
            userId = config.plugins.pvmc.seenuserid.value
            dbHandlerPickle = databaseHandlerPICKLE().getInstance(
                "from importDataToPickleV2", None)
            dbHandlerPickle.loadAll()
            #Upgrade SeenDB
            records = dbHandlerPickle.getSeenForUpgrade()

            self.dbHandler.loadAll()

            start_time = time.time()
            cntNew = 0

            printl(
                "Total Seen Movies to Convert: " + str(len(records["Movies"])),
                self)
            for imdb in records["Movies"]:
                if imdb == u"":
                    continue
                printl("getSeen for imdb: " + imdb, self)
                m = self.dbHandler.getMediaWithImdbId(imdb)
                if m is None:
                    #printl("IS NONE: "+imdb, self)
                    m = MediaInfo()
                    m.Id = None
                    m.ImdbId = imdb

                seen = records["Movies"][imdb]["Seen"]
                if seen:
                    self.dbHandler.MarkAsSeenWithMedia(m, userId)
                else:
                    pass
                    #self.dbHandler.MarkAsUnseenWithMedia(m,userId)

                cntNew += 1

            printl(
                "Total Seen Series(no episodes) to Convert: " +
                str(len(records["TV"])), self)
            for thetvdb in records["TV"]:
                if thetvdb == u"":
                    continue
                printl("getSeen for thetvdb: " + thetvdb, self)
                serie = self.dbHandler.getMediaWithTheTvDbId(thetvdb)
                for season in records["TV"][thetvdb]:
                    if serie is not None:
                        EpisodesFromSeason = self.dbHandler.getEpisodes(
                            serie.Id, season)
                    for episode in records["TV"][thetvdb][season]:
                        EpisodeInserted = False
                        seen = records["TV"][thetvdb][season][episode]["Seen"]
                        if serie is not None:
                            for ep in EpisodesFromSeason:
                                if episode == ep.Episode:
                                    EpisodeInserted = True
                                    if seen:
                                        self.dbHandler.MarkAsSeen(
                                            ep.Id, userId)
                                    else:
                                        pass
                                        #self.dbHandler.MarkAsUnseen(ep.Id,userId)
                        else:
                            #printl("NO SERIE: " + thetvdb, self)
                            pass

                        if not EpisodeInserted:
                            #printl("MANNUALLY: " + thetvdb, self)
                            m = MediaInfo(
                            )  # Fake Media, Avoid loosing Seen Data
                            m.Id = None
                            m.TheTvDbId = thetvdb
                            m.Season = season
                            m.Episode = episode
                            if seen:
                                #printl("SEEN 2: " + thetvdb, self)
                                self.dbHandler.MarkAsSeenWithMedia(m, userId)
                            else:
                                #printl("UNSEEN 2: " + thetvdb, self)
                                #self.dbHandler.MarkAsUnseenWithMedia(m,userId)
                                pass

                        cntNew += 1

# dbSeen["Movies"][primary_key["ImdbId"]]["Seen"] = primary_key["Seen"]
# dbSeen["TV"][primary_key["TheTvDbId"]][primary_key["Season"]][primary_key["Episode"]]["Seen"] = primary_key["Seen"]

            printl("Seen Count: " +
                   str(str(len(records["Movies"]) + len(records["TV"]))) +
                   " Processed: " + str(cntNew))

            #self.dbHandler.commit()
            elapsed_time = time.time() - start_time
            printl("Took: " + str(elapsed_time), self)
            try:
                if os.path.exists(self.DB_PATH + "seen.db"):
                    os.rename(self.DB_PATH + "seen.db",
                              self.DB_PATH + "seen.db" + ".old")
            except Exception, ex:
                printl(".Backup Seen failed! Ex: " + str(ex), __name__, "E")
        except Exception, ex:
            printl(
                ".Failed Import to PickleV2! Reloading Pickle V1. Ex: " +
                str(ex), __name__, "E")
            self.USE_DB_TYPE = self.DB_PICKLE
コード例 #4
0
	def importDataToPickleV2 (self, session):
		printl("->", self, "S")
		try:
			if session is not None:
				self.mm = session.open(MessageBox, (_("\nConverting data to V2.... \n\nPlease wait... ")), MessageBox.TYPE_INFO)
				#self.mm = self.session.open(Msg)		
			printl("Importing Data to PickleV2", self)
			# this will Open Pickle V1 and run upgrades if necessary
			userId = config.plugins.pvmc.seenuserid.value
			dbHandlerPickle = databaseHandlerPICKLE().getInstance("from importDataToPickleV2", None)
			dbHandlerPickle.loadAll()
			#Upgrade SeenDB
			records = dbHandlerPickle.getSeenForUpgrade()
			
			self.dbHandler.loadAll()
			
			start_time = time.time()			
			cntNew = 0
			
			printl("Total Seen Movies to Convert: "+str(len(records["Movies"])), self)
			for imdb in records["Movies"]:
				if imdb == u"":
					continue
				printl("getSeen for imdb: "+imdb, self)
				m = self.dbHandler.getMediaWithImdbId(imdb)
				if m is None:
					#printl("IS NONE: "+imdb, self)
					m = MediaInfo()
					m.Id = None
					m.ImdbId = imdb
					
				seen = records["Movies"][imdb]["Seen"]
				if seen:
					self.dbHandler.MarkAsSeenWithMedia(m,userId)
				else:
					pass
					#self.dbHandler.MarkAsUnseenWithMedia(m,userId)
				
				cntNew += 1
			
			printl("Total Seen Series(no episodes) to Convert: "+str(len(records["TV"])), self)
			for thetvdb in records["TV"]:
				if thetvdb == u"":
					continue
				printl("getSeen for thetvdb: "+thetvdb, self)
				serie = self.dbHandler.getMediaWithTheTvDbId(thetvdb)
				for season in records["TV"][thetvdb]:			
					if serie is not None:
						EpisodesFromSeason = self.dbHandler.getEpisodes(serie.Id, season)	
					for episode in records["TV"][thetvdb][season]:
						EpisodeInserted = False
						seen = records["TV"][thetvdb][season][episode]["Seen"]
						if serie is not None:
							for ep in EpisodesFromSeason:
								if episode == ep.Episode:
									EpisodeInserted = True
									if seen:
										self.dbHandler.MarkAsSeen(ep.Id,userId)
									else:	
										pass
										#self.dbHandler.MarkAsUnseen(ep.Id,userId)
						else:
							#printl("NO SERIE: " + thetvdb, self)
							pass
							
						if not EpisodeInserted:
							#printl("MANNUALLY: " + thetvdb, self)
							m = MediaInfo() # Fake Media, Avoid loosing Seen Data
							m.Id = None
							m.TheTvDbId = thetvdb
							m.Season = season
							m.Episode = episode
							if seen:
								#printl("SEEN 2: " + thetvdb, self)
								self.dbHandler.MarkAsSeenWithMedia(m,userId)
							else:
								#printl("UNSEEN 2: " + thetvdb, self)
								#self.dbHandler.MarkAsUnseenWithMedia(m,userId)
								pass
								
						cntNew += 1
								
									
# dbSeen["Movies"][primary_key["ImdbId"]]["Seen"] = primary_key["Seen"]
# dbSeen["TV"][primary_key["TheTvDbId"]][primary_key["Season"]][primary_key["Episode"]]["Seen"] = primary_key["Seen"]

			printl("Seen Count: "+str(str(len(records["Movies"])+len(records["TV"]))) + " Processed: " + str(cntNew) )				
			
			#self.dbHandler.commit()
			elapsed_time = time.time() - start_time
			printl("Took: " + str(elapsed_time), self)
			try:
				if os.path.exists(self.DB_PATH + "seen.db"):
					os.rename(self.DB_PATH + "seen.db",   self.DB_PATH + "seen.db" +".old")
			except Exception, ex:
				printl(".Backup Seen failed! Ex: " + str(ex), __name__, "E")
		except Exception, ex:
			printl(".Failed Import to PickleV2! Reloading Pickle V1. Ex: " + str(ex), __name__, "E")
			self.USE_DB_TYPE    	= self.DB_PICKLE