Files
deb-python-cliff/demoapp/cliffdemo/show.py
Doug Hellmann 748ef2b230 Refactor DisplayBase.run() to make it easier to override separate parts in subclasses.
Rename get_data() to take_action() so subclasses that do something other than query for values have a clear place to override.
2012-06-01 10:54:18 -04:00

32 lines
812 B
Python

import logging
import os
from cliff.show import ShowOne
class File(ShowOne):
"Show details about a file"
log = logging.getLogger(__name__)
def get_parser(self, prog_name):
parser = super(File, self).get_parser(prog_name)
parser.add_argument('filename', nargs='?', default='.')
return parser
def take_action(self, parsed_args):
stat_data = os.stat(parsed_args.filename)
columns = ('Name',
'Size',
'UID',
'GID',
'Modified Time',
)
data = (parsed_args.filename,
stat_data.st_size,
stat_data.st_uid,
stat_data.st_gid,
stat_data.st_mtime,
)
return (columns, data)