コード例 #1
0
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
コード例 #2
0
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()
コード例 #3
0
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()
コード例 #4
0
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
コード例 #5
0
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)
コード例 #6
0
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
コード例 #7
0
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()
コード例 #8
0
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()
コード例 #9
0
    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)
コード例 #10
0
def deleteNotExistImageMoviesActor(actor):
    movies = movieDAO.getMoviesByCondition("actor = '" + actor + "'")
    for movie in movies:
        if not imageIO.isExistImage(movie):
            movieDAO.deleteMovie(movie["av_number"])
コード例 #11
0
def calcAllVR():
    movies = MovieDAO.getMoviesByCondition("vr = 1")
    #print(movies)
    allImages = DiskIndex.getAllImages(SysConst.getImageCachePath())
    for movie in movies:
        calcMovie(movie, allImages)