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