[Downloader] Delete repo folder on repo removal

This commit is contained in:
Twentysix 2017-02-17 17:21:50 +01:00
parent dad6929843
commit 08496d0793

View File

@ -110,11 +110,18 @@ class Downloader:
@repo.command(name="remove") @repo.command(name="remove")
async def _repo_del(self, repo_name: str): async def _repo_del(self, repo_name: str):
"""Removes repo from repo list. COGS ARE NOT REMOVED.""" """Removes repo from repo list. COGS ARE NOT REMOVED."""
def remove_readonly(func, path, excinfo):
os.chmod(path, 0o755)
func(path)
if repo_name not in self.repos: if repo_name not in self.repos:
await self.bot.say("That repo doesn't exist.") await self.bot.say("That repo doesn't exist.")
return return
del self.repos[repo_name] del self.repos[repo_name]
#shutil.rmtree(os.path.join(self.path, repo_name)) try:
shutil.rmtree(os.path.join(self.path, repo_name), onerror=remove_readonly)
except FileNotFoundError:
pass
self.save_repos() self.save_repos()
await self.bot.say("Repo '{}' removed.".format(repo_name)) await self.bot.say("Repo '{}' removed.".format(repo_name))