Ejemplo n.º 1
0
    def _tryCache(self, dbpath, cacheDir, flavors, verbose=0):
        if not cacheDir or not os.path.exists(cacheDir):
            return False

        cacheOkay = True
        for flav in flavors:
            if not self.cacheIsUpToDate(flav, cacheDir):
                cacheOkay = False
                if verbose > 1:
                    print >>sys.stderr, "Regenerating missing or out-of-date cache for %s in %s" % (flav, dbpath)
                break

        if cacheOkay:
            self.reload(flavors, cacheDir, verbose=verbose)

            # do a final consistency check; do we have the same products
            dbnames = Database(dbpath).findProductNames()
            dbnames.sort()
            dbnames = " ".join(dbnames)

            cachenames = self.getProductNames()
            cachenames.sort()
            cachenames = " ".join(cachenames)

            if dbnames != cachenames:
                cacheOkay = False
                self.lookup = {}  # forget loaded data
                if verbose:
                    print >>sys.stderr, "Regenerating out-of-date cache for %s in\n   %s" % (flav, dbpath)

        return cacheOkay
Ejemplo n.º 2
0
    def _tryCache(self, dbpath, cacheDir, flavors, verbose=0):
        if not cacheDir or not os.path.exists(cacheDir):
            return False

        cacheOkay = True
        for flav in flavors:
            if not self.cacheIsUpToDate(flav, cacheDir):
                cacheOkay = False
                if verbose > 1:
                    print >> sys.stderr, \
                          "Regenerating missing or out-of-date cache for %s in %s" % (flav, dbpath)
                break

        if cacheOkay:
            self.reload(flavors, cacheDir, verbose=verbose)

            # do a final consistency check; do we have the same products
            dbnames = Database(dbpath).findProductNames()
            dbnames.sort()
            dbnames = " ".join(dbnames)

            cachenames = self.getProductNames()
            cachenames.sort()
            cachenames = " ".join(cachenames)

            if dbnames != cachenames:
                cacheOkay = False
                self.lookup = {}  # forget loaded data
                if verbose:
                    print >> sys.stderr, \
                     "Regenerating out-of-date cache for %s in %s" % (flav, dbpath)

        return cacheOkay