diff --git a/catcli/noder.py b/catcli/noder.py index 0997b49..701bd2d 100644 --- a/catcli/noder.py +++ b/catcli/noder.py @@ -35,7 +35,9 @@ class Noder: TYPE_ARC = 'arc' TYPE_STORAGE = 'storage' TYPE_META = 'meta' - CSV_HEADER = 'name,type,path,size,indexed_at,maccess,md5' + CSV_HEADER = ('name,type,path,size,indexed_at,' + 'maccess,md5,nbfiles,free_space,' + 'total_space,meta') def __init__(self, debug=False, sortsize=False, arc=False): ''' @@ -294,34 +296,41 @@ class Noder: out = [] if node.type == self.TYPE_STORAGE: # handle storage - out.append(node.name) - out.append(node.type) - out.append('') # full path - # size + out.append(node.name) # name + out.append(node.type) # type + out.append('') # fake full path sz = self._rec_size(node, store=False) - out.append(utils.human(sz)) - out.append(utils.epoch_to_str(node.ts)) - out.append('') # maccess - out.append('') # md5 + out.append(utils.human(sz)) # size + out.append(utils.epoch_to_str(node.ts)) # indexed_at + out.append('') # fake maccess + out.append('') # fake md5 + out.append(str(len(node.children))) # nbfiles + out.append(utils.human(node.free)) # fake free_space + out.append(utils.human(node.total)) # fake total_space + out.append(node.attr) # meta else: - out.append(node.name) - out.append(node.type) - - # node full path + # handle other nodes + out.append(node.name) # name + out.append(node.type) # type parents = self._get_parents(node) storage = self._get_storage(node) fullpath = os.path.join(storage.name, parents) - out.append(fullpath) - - out.append(utils.human(node.size)) - out.append(utils.epoch_to_str(storage.ts)) - out.append(utils.epoch_to_str(node.maccess)) + out.append(fullpath) # full path - # md5 if any + out.append(utils.human(node.size)) # size + out.append(utils.epoch_to_str(storage.ts)) # indexed_at + out.append(utils.epoch_to_str(node.maccess)) # maccess if node.md5: - out.append(node.md5) + out.append(node.md5) # md5 + else: + out.append('') # fake md5 + if node.type == self.TYPE_DIR: + out.append(str(len(node.children))) # nbfiles else: - out.append('') + out.append('') # fake nbfiles + out.append('') # fake free_space + out.append('') # fake total_space + out.append('') # fake meta line = sep.join(['"' + o + '"' for o in out]) if len(line) > 0: