mirror of
https://github.com/niess/python-appimage.git
synced 2026-03-14 04:10:15 +01:00
Cache management
This commit is contained in:
41
python_appimage/commands/cache/list.py
vendored
Normal file
41
python_appimage/commands/cache/list.py
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
import glob
|
||||
import os
|
||||
from pathlib import Path
|
||||
import subprocess
|
||||
|
||||
from ...utils.deps import CACHE_DIR
|
||||
from ...utils.log import log
|
||||
|
||||
|
||||
__all__ = ['execute']
|
||||
|
||||
|
||||
def _unpack_args(args):
|
||||
'''Unpack command line arguments
|
||||
'''
|
||||
return tuple()
|
||||
|
||||
|
||||
def execute():
|
||||
'''List cached image(s)
|
||||
'''
|
||||
|
||||
cache = Path(CACHE_DIR)
|
||||
|
||||
images = sorted(os.listdir(cache / 'share/images'))
|
||||
for image in images:
|
||||
tags = ', '.join((
|
||||
tag[:-5] for tag in \
|
||||
sorted(os.listdir(cache / f'share/images/{image}/tags'))
|
||||
))
|
||||
if not tags:
|
||||
continue
|
||||
path = cache / f'share/images/{image}'
|
||||
memory = _getsize(path)
|
||||
log('LIST', f'{image} ({tags}) [{memory}]')
|
||||
|
||||
|
||||
def _getsize(path: Path):
|
||||
r = subprocess.run(f'du -sh {path}', capture_output=True, check=True,
|
||||
shell=True)
|
||||
return r.stdout.decode().split(None, 1)[0]
|
||||
Reference in New Issue
Block a user