Log the number and size of files recycled.
This commit is contained in:
parent
4498b0b228
commit
9ed28ac6b0
1 changed files with 14 additions and 2 deletions
16
recycle.py
16
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__':
|
||||
|
|
Loading…
Reference in a new issue