Added a new script that enables use of Ledger as a smart "du".
This commit is contained in:
parent
a5aff9eee9
commit
ed7e162301
1 changed files with 49 additions and 0 deletions
49
scripts/ledger-du
Executable file
49
scripts/ledger-du
Executable file
|
|
@ -0,0 +1,49 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
import string
|
||||
import sys
|
||||
import os
|
||||
import time
|
||||
|
||||
from stat import *
|
||||
from os.path import *
|
||||
|
||||
def report_file(path):
|
||||
dir_elems = string.split(dirname(path), os.sep)
|
||||
if dir_elems[0] == "." or dir_elems[0] == "":
|
||||
dir_elems = dir_elems[1 :]
|
||||
account = string.join(dir_elems, ":")
|
||||
|
||||
info = os.stat(path)
|
||||
print time.strftime("%Y/%m/%d", time.localtime(info[ST_MTIME])),
|
||||
|
||||
print basename(path)
|
||||
print " ", account, " ", info[ST_SIZE], "b"
|
||||
print " Equity:Files"
|
||||
print
|
||||
|
||||
def find_files(path):
|
||||
entries = os.listdir(path)
|
||||
for entry in entries:
|
||||
entry = join(path, entry)
|
||||
if not islink(entry):
|
||||
if isdir(entry) and entry != "/proc":
|
||||
find_files(entry)
|
||||
else:
|
||||
report_file(entry)
|
||||
|
||||
args = sys.argv[1:]
|
||||
if len(args):
|
||||
paths = args
|
||||
else:
|
||||
paths = ["."]
|
||||
|
||||
print """
|
||||
C 1.00 Kb = 1024 b
|
||||
C 1.00 Mb = 1024 Kb
|
||||
C 1.00 Gb = 1024 Mb
|
||||
C 1.00 Tb = 1024 Gb
|
||||
"""
|
||||
|
||||
for path in paths:
|
||||
find_files(path)
|
||||
Loading…
Add table
Reference in a new issue