[fix][arch] clean cache

This commit is contained in:
Vinícius Moreira
2020-05-08 17:40:58 -03:00
parent f076e15119
commit 9509aa89e7
3 changed files with 18 additions and 5 deletions

View File

@@ -63,7 +63,7 @@ class SystemProcess:
class SimpleProcess:
def __init__(self, cmd: List[str], cwd: str = '.', expected_code: int = None,
def __init__(self, cmd: List[str], cwd: str = '.', expected_code: int = 0,
global_interpreter: bool = USE_GLOBAL_INTERPRETER, lang: str = DEFAULT_LANG, root_password: str = None,
extra_paths: Set[str] = None, error_phrases: Set[str] = None):
pwdin, final_cmd = None, []
@@ -179,7 +179,7 @@ class ProcessHandler:
proc.instance.wait()
output.seek(0)
success = proc.instance.returncode == proc.expected_code,
success = proc.instance.returncode == proc.expected_code
string_output = output.read()
if proc.error_phrases:

View File

@@ -2163,10 +2163,17 @@ class ArchManager(SoftwareManager):
body=text,
confirmation_label=self.i18n['clean'].capitalize(),
deny_label=self.i18n['cancel'].capitalize()):
rm = SimpleProcess(cmd=['rm', '-rf', '{}/*'.format(cache_dir)], root_password=root_password)
handler = ProcessHandler(watcher)
success, output = handler.handle_simple(rm)
success = True
for f in glob.glob('{}/*'.format(cache_dir)):
rm = SimpleProcess(cmd=['rm', '-rf', f], root_password=root_password)
success, _ = handler.handle_simple(rm)
if not success:
success = False
break
if success:
watcher.show_message(title=self.i18n['arch.custom_action.clean_cache'].capitalize(),

View File

@@ -838,7 +838,13 @@ def get_cache_dir() -> str:
if not string.strip().startswith('#'):
cache_dirs.append(string.split('=')[1].strip())
return cache_dirs[-1] if cache_dirs else '/var/cache/pacman/pkg/'
if cache_dirs:
if cache_dirs[-1][-1] == '/':
return cache_dirs[-1][0:-1]
else:
return cache_dirs[-1]
else:
return '/var/cache/pacman/pkg'
def map_required_by(names: Iterable[str]) -> Dict[str, Set[str]]: