Exemplo n.º 1
0
 def is_database_repos_default_commits(
         self, database_repos: BlastDatabaseRepositories) -> bool:
     """
     Checks whether the past database repos handler is linked to default commits of the database.
     :param database_repos: The database repos handler.
     :return: True if it's setup with default commit versions, false otherwise.
     """
     return database_repos.is_at_commits(self.DEFAULT_COMMITS)
Exemplo n.º 2
0
 def get_database_repos(self,
                        force_use_git: bool = False
                        ) -> BlastDatabaseRepositories:
     """
     Gets the appropriate database repositories.
     :param force_use_git: Force use of git database repos.
     :return: The database repos object.
     """
     if self._sub_dirs and (force_use_git
                            or path.exists(self._git_database_dir)):
         return BlastDatabaseRepositories.create_default_repositories(
             self._git_database_dir)
     elif self._sub_dirs:
         return BlastDatabaseRepositories.create_default_repositories(
             self._git_strip_database_dir, is_dist=True)
     else:
         return BlastDatabaseRepositories.create_default_repositories(
             self._git_database_dir)
Exemplo n.º 3
0
    def setup_default(self):
        """
        Sets up a default database.
        :return: None
        """

        if path.exists(self._git_strip_database_dir):
            logger.warning("Default database already exists in [%s]",
                           self._git_strip_database_dir)
        else:
            logger.info("Setting up default database in [%s]",
                        self._git_strip_database_dir)
            database_repos = BlastDatabaseRepositories.create_default_repositories(
                self._git_strip_database_dir, is_dist=True)
            database_repos.build(self.DEFAULT_COMMITS)
Exemplo n.º 4
0
    def restore_default(self):
        """
        Restores the default database.
        :return: None
        """

        if path.exists(self._git_database_dir):
            logger.info("Removing database in [%s]", self._git_database_dir)
            database_repos = BlastDatabaseRepositories.create_default_repositories(
                self._git_database_dir)
            database_repos.remove()

            if not path.exists(self._git_strip_database_dir):
                self.setup_default()

            logger.info("Restored default database to [%s]",
                        self._git_strip_database_dir)
        else:
            if not path.exists(self._git_strip_database_dir):
                self.setup_default()
            else:
                logger.info(
                    "Default database already in use under directory [%s]",
                    self._git_strip_database_dir)
Exemplo n.º 5
0
 def setUp(self):
     self.databases_dir = tempfile.TemporaryDirectory()
     self.database_repositories = BlastDatabaseRepositories.create_default_repositories(self.databases_dir.name)