File: show.py

package info (click to toggle)
python-cliff 4.9.1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 652 kB
  • sloc: python: 5,218; makefile: 32; sh: 21
file content (33 lines) | stat: -rw-r--r-- 765 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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().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)