def getMagnetFromDB(): #images = DiskIndex.getAllImages(SysConst.getImageTempPath()) Log.info("download magnets begins") movies = MovieDAO.getNoMagnetMovies() mags = [] try: for movie in movies: mag = getMagnet(movie["av_number"], None) if mag: Log.info(mag) MovieDAO.updateMovieMagnet2(movie["av_number"], mag) mags.append(mag) if len(mags) >= 20: break else: MovieDAO.updateMovieLastReadTime(movie["av_number"]) except Exception as err: Log.exception(err) finally: for mag in mags: Log.info(mag) Log.info("download magnets end") return mags
def forcast(): Log.info("do forcast") localBayes = bayes.BayesTrainingFromDB("local") vrBayes = bayes.BayesTrainingFromDB("vr") skipBayes = bayes.BayesTrainingFromDB("skip") trashBayes = bayes.BayesTrainingFromDB("trash") movies = MovieDAO.getMoviesByCondition( "local = 0 and trash = 0 and skip = 0") conn = SysConst.getConnect() for movie in movies: token = movie["av_number"] + movie["actor"] + movie["title"] # token = movie["av_number"] + movie["title"] local = localBayes.probable(token) vr = vrBayes.probable(token) skip = skipBayes.probable(token) trash = trashBayes.probable(token) #movie["vr_forcast"] = local + vr forcast = round((vr - skip * 0.4 - trash * 0.01 + local * 0.3) * 10000) MovieDAO.updateMovieVRForcast(movie["av_number"], forcast, conn) conn.commit() conn.close()
def getUndownloadMagnets(): #images = DiskIndex.getAllImages(SysConst.getImageTempPath()) conn = SysConst.getConnect() movies = MovieDAO.getMoviesByCondition( "local = 2 and download = 0 and magnet is not null and (read != 1 or read is null) order by create_time limit 20" ) for movie in movies: print(movie["magnet"]) MovieDAO.updateMovieReaded(movie["av_number"], conn) conn.commit() conn.close()
def reloadErrorMagnets(): movies = MovieDAO.getMoviesByCondition("local = 2 and magnet is not null") mags = [] try: for movie in movies: mag = getMagnet(movie["av_number"], movie["magnet"]) if mag: print(mag) MovieDAO.updateMovieMagnet2(movie["av_number"], mag) mags.append(mag) except Exception as err: print(err) finally: for mag in mags: print(mag) return mags
def calcByActor(actor): movies = MovieDAO.getMoviesByCondition("actor = '" + actor + "' and vr = 1") print(movies) allImages = DiskIndex.getAllImages(SysConst.getImageCachePath()) for movie in movies: calcMovie(movie, allImages)
def downloadActor(shortName): movies = movieDAO.getMoviesByCondition("short_name = '" + shortName + "' and wrong_pic is null") imageIO.checkDirPath(shortName) count = 0 for movie in movies: saved = imageIO.saveImage(movie) if saved: count = count + 1 return count
def tagDownload(): path = SysConst.getDownloadPath() movieFiles = DiskIndex.getTxts(path) allNumbers = DownloadDAO.get_all_download() conn = SysConst.getConnect() for avNumber in allNumbers: name = avNumber.lower() first = name[0:name.find('-')] second = name[name.find('-') + 1:] for file in movieFiles: filename = file["filename"].lower() if filename.find(first) > -1 and filename.find(second) > -1: print("find " + name + " : " + file["fullpath"]) movieFiles.remove(file) MovieDAO.markMovieDownload(conn, avNumber.upper()) break conn.commit() conn.close()
def copyWrongMagnets(): movies = MovieDAO.getMoviesByCondition( "local = 2 and download = 0 and magnet is not null") conn = SysConst.getConnect() try: for movie in movies: WrongMagnetDAO.saveMagnet(movie, conn) except Exception as err: print(err) finally: conn.commit() conn.close()
def train(self, category): """counts word occurrences for a particular category""" if category == "neg": condition = self.tag + " = 0" else: condition = self.tag + " = 1" movies = MovieDAO.getMoviesByCondition(condition) counts = {} total = 0 rows = 0 # print(" " + currentBucket) for movie in movies: token = movie["av_number"] + movie["actor"] + movie["title"] #token = token.strip('\'".,?:-') rows += 1 chars = getChars(token) for char in chars: self.vocabulary.setdefault(char, 0) self.vocabulary[char] += 1 counts.setdefault(char, 0) counts[char] += 1 total += 1 """ old: for char in token: if char != ' ' and not char in self.stopwords: self.vocabulary.setdefault(char, 0) self.vocabulary[char] += 1 counts.setdefault(char, 0) counts[char] += 1 total += 1 """ return (counts, total, rows)
def deleteNotExistImageMoviesActor(actor): movies = movieDAO.getMoviesByCondition("actor = '" + actor + "'") for movie in movies: if not imageIO.isExistImage(movie): movieDAO.deleteMovie(movie["av_number"])
def calcAllVR(): movies = MovieDAO.getMoviesByCondition("vr = 1") #print(movies) allImages = DiskIndex.getAllImages(SysConst.getImageCachePath()) for movie in movies: calcMovie(movie, allImages)