diff options
Diffstat (limited to 'demoapp/cliffdemo/show.py')
-rw-r--r-- | demoapp/cliffdemo/show.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/demoapp/cliffdemo/show.py b/demoapp/cliffdemo/show.py new file mode 100644 index 0000000..54d98be --- /dev/null +++ b/demoapp/cliffdemo/show.py @@ -0,0 +1,31 @@ +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 get_data(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) |