summaryrefslogtreecommitdiff
path: root/demoapp/cliffdemo/show.py
diff options
context:
space:
mode:
Diffstat (limited to 'demoapp/cliffdemo/show.py')
-rw-r--r--demoapp/cliffdemo/show.py31
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)