Beispiel #1
0
def extractAllFilesFromDirAndSubdirs(db, logger, extractDir, dirpathRoot):
    depotRoot1 = "I:\\objectstore1"
    depotRoot2 = "F:\\objectstore2"
    logger.log("extracting files from %s to %s" % (dirpathRoot, extractDir))
    dirfilelist = miscQueries.getAllPathsAndFilenamesFromDirAndSubdirs(
        db, dirpathRoot)
    logger.log("got %d dirs" % len(dirfilelist.keys()))

    for dirpath in dirfilelist:
        logger.log("directory %s" % dirpath)
        filelist = dirfilelist[dirpath]
        logger.log("%d files" % len(filelist))
        for filehash, filename in filelist:
            logger.log("filehash: %s, filename: %s" % (filehash, filename))
            fixedDirpath = dirpath.replace(":", "_")
            logger.log(fixedDirpath)
            destinationDir = os.path.join(extractDir, fixedDirpath)
            logger.log("destination: %s" % destinationDir)
            if not os.path.isdir(destinationDir):
                os.makedirs(destinationDir)

            if not FileUtils.CopyFileFromDepot(db, depotRoot1, destinationDir,
                                               filehash, filename):
                if not FileUtils.CopyFileFromDepot(
                        db, depotRoot2, destinationDir, filehash, filename):
                    logger.log(
                        "#############################file not found, setting status"
                    )
                    miscQueries.setFileStatus(db, filehash, "notFound")
Beispiel #2
0
def extractFileOrSetDeleted(db, destinationDir, filehash, newFilename, logger):
    depotRoot1 = "I:\\objectstore1"
    depotRoot2 = "F:\\objectstore2"
    if not FileUtils.CopyFileFromDepot(db, depotRoot1, destinationDir,
                                       filehash, newFilename):
        if not FileUtils.CopyFileFromDepot(db, depotRoot2, destinationDir,
                                           filehash, newFilename):
            logger.log("file not found, setting status")
            miscQueries.setFileStatus(db, filehash, "deleted")
Beispiel #3
0
def extractFile(db, destinationDir, filehash, newFilename, logger):
    depotRoot1 = "I:\\objectstore1"
    depotRoot2 = "F:\\objectstore2"
    if not FileUtils.CopyFileFromDepot(db, depotRoot1, destinationDir,
                                       filehash, newFilename):
        if not FileUtils.CopyFileFromDepot(db, depotRoot2, destinationDir,
                                           filehash, newFilename):
            logger.log("ERROR, file not found")
            exit(1)
Beispiel #4
0
def getFilesFromBackup(db, logger):
    depotRootPath = "F:\objectstore1p5"
    destinationDirPath = "I:\\replacements"

    #list = miscQueries.getFilesWithStatus(db, "foundReplacement")
    #for item in list:
    #	filehash = item[0]
    #	miscQueries.setFileStatus(db, filehash, "notFound")
    #exit(1)

    list = miscQueries.getFilesWithStatus(db, "notFound")
    for item in list:
        filehash = item[0]
        #logger.log(filehash)

        copied = FileUtils.CopyFileFromDepot(db, depotRootPath,
                                             destinationDirPath, filehash,
                                             filehash)
        if copied:
            logger.log("copied %s" % filehash)
            miscQueries.setFileStatus(db, filehash, "foundReplacement")