Log the number and size of files recycled.

This commit is contained in:
voussoir 2022-11-11 15:11:08 -08:00
parent 4498b0b228
commit 9ed28ac6b0
No known key found for this signature in database
GPG key ID: 5F7554F8C26DACCB

View file

@ -1,18 +1,30 @@
import send2trash import send2trash
import sys import sys
from voussoirkit import bytestring
from voussoirkit import pathclass from voussoirkit import pathclass
from voussoirkit import pipeable from voussoirkit import pipeable
from voussoirkit import vlogging
log = vlogging.get_logger(__name__, 'recycle')
@vlogging.main_decorator
def main(argv): def main(argv):
count = 0
total_bytes = 0
for path in pathclass.glob_many(pipeable.go(argv, skip_blank=True)): for path in pathclass.glob_many(pipeable.go(argv, skip_blank=True)):
pipeable.stdout(path.absolute_path) pipeable.stdout(path.absolute_path)
try: try:
this_bytes = path.size
send2trash.send2trash(path) send2trash.send2trash(path)
except Exception as exc: except Exception as exc:
pipeable.stderr(f'Recycling {path.absolute_path} caused an exception:') message = f'Recycling {path.absolute_path} caused an exception:\n{exc}'
pipeable.stderr(str(exc)) log.error(message)
return 1 return 1
else:
count += 1
total_bytes += this_bytes
log.info(f'Recycled {count} files totaling {bytestring.bytestring(total_bytes)}.')
return 0 return 0
if __name__ == '__main__': if __name__ == '__main__':