def call_verify_tables()

in dcrpm/dcrpm.py [0:0]


    def call_verify_tables(self):
        # type: () -> bool
        """
        Because rpmutil.verify_tables requires a different way of exception
        handling (i.e. if a db_verify fails on one of the tables, we might need
        to kill the .dbenv.lock pids before running rpm --rebuilddb), we wrap
        the call with this method.
        """
        try:
            self.rpmutil.verify_tables()
            self.logger.info("Verify tables OK")
            return True
        except DcRPMException:
            # db_verify of one of the tables failed, so recover, then rebuild.
            # Let any other exceptions bubble up as needed to the main run loop.
            # Not great, but matches the original C++ dcrpm.
            self.run_recovery()
            self.run_rebuild()
            return False