-
Notifications
You must be signed in to change notification settings - Fork 32
Expand file tree
/
Copy pathlist.py
More file actions
41 lines (30 loc) · 911 Bytes
/
list.py
File metadata and controls
41 lines (30 loc) · 911 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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]