Register a repository.
(self, repository: HacsRepository, default: bool = False)
| 225 | return False |
| 226 | |
| 227 | def register(self, repository: HacsRepository, default: bool = False) -> None: |
| 228 | """Register a repository.""" |
| 229 | repo_id = str(repository.data.id) |
| 230 | |
| 231 | if repo_id == "0": |
| 232 | return |
| 233 | |
| 234 | if registered_repo := self._repositories_by_id.get(repo_id): |
| 235 | if registered_repo.data.full_name == repository.data.full_name: |
| 236 | return |
| 237 | |
| 238 | self.unregister(registered_repo) |
| 239 | |
| 240 | registered_repo.data.full_name = repository.data.full_name |
| 241 | registered_repo.data.new = False |
| 242 | repository = registered_repo |
| 243 | |
| 244 | if repository not in self._repositories: |
| 245 | self._repositories.add(repository) |
| 246 | |
| 247 | self._repositories_by_id[repo_id] = repository |
| 248 | self._repositories_by_full_name[repository.data.full_name_lower] = repository |
| 249 | |
| 250 | if default: |
| 251 | self.mark_default(repository) |
| 252 | |
| 253 | def unregister(self, repository: HacsRepository) -> None: |
| 254 | """Unregister a repository.""" |