async def delete_repo(self, name: str): """Delete a repository and its folders. Parameters ---------- name : str The name of the repository to delete. Raises ------ .MissingGitRepo If the repo does not exist. """ repo = self.get_repo(name) if repo is None: raise errors.MissingGitRepo( "There is no repo with the name {}".format(name)) safe_delete(repo.folder_path) try: del self._repos[name] except KeyError: pass
async def remove_instance(selected, instance_data): if instance_data["STORAGE_TYPE"] == "MongoDB": from redbot.core.drivers.red_mongo import Mongo m = Mongo("Core", **instance_data["STORAGE_DETAILS"]) db = m.db collections = await db.collection_names( include_system_collections=False) for name in collections: collection = await db.get_collection(name) await collection.drop() else: pth = Path(instance_data["DATA_PATH"]) safe_delete(pth) save_config(selected, {}, remove=True) print("The instance {} has been removed\n".format(selected))