예제 #1
0
    def _create_database(self):
        """
        Create a persistent database to store expensive parse results

        Check for Python version used to create the database is the
        same as the running python instance or re-create
        """
        project_database_file_name = join(self._output_path, "project_database")
        create_new = False
        key = b"version"
        version = str((6, sys.version)).encode()
        database = None
        try:
            database = DataBase(project_database_file_name)
            create_new = (key not in database) or (database[key] != version)
        except KeyboardInterrupt:
            raise
        except:  # pylint: disable=bare-except
            traceback.print_exc()
            create_new = True

        if create_new:
            database = DataBase(project_database_file_name, new=True)
        database[key] = version

        return PickledDataBase(database)
예제 #2
0
 def create_database(tempdir, new=False):
     return DataBase(str(Path(tempdir) / "database"), new=new)
예제 #3
0
 def create_database(tempdir, new=False):
     return DataBase(join(tempdir, "database"), new=new)
예제 #4
0
 def create_database(self, new=False):
     return DataBase(join(self.output_path, "database"), new=new)