From: "Aurélien Aptel" <aaptel@suse.com>
To: Kenneth D'souza <kdsouza@redhat.com>,
piastryyy@gmail.com, smfrench@gmail.com,
linux-cifs@vger.kernel.org
Cc: lsahlber@redhat.com
Subject: Re: [PATCH] smb2quota.py: Userspace helper to display quota information for the Linux SMB client file system (CIFS)
Date: Wed, 09 Oct 2019 15:13:01 +0200 [thread overview]
Message-ID: <87o8yqf4f6.fsf@suse.com> (raw)
In-Reply-To: <20190924045611.21689-1-kdsouza@redhat.com>
We now have 2 user scripts in the repo but the configure script doesn't
know about them: they are not installed. If they are considered dev
tools or experimental that's fine otherwise we should consider
installing them on make install. I just wanted to point this out.
A bit late but some comments on the script.
Kenneth D'souza <kdsouza@redhat.com> writes:
> +#!/usr/bin/env python
We should script for python3 at this point I think. Python2 is on the
way out.
> +def usage():
> + print("Usage: %s [-h] <options> <filename>" % sys.argv[0])
> + print("Try 'smb2quota -h' for more information")
> + sys.exit()
argparse already generates usage message from its conf.
> +
> +def parser_check(path, flag):
> + titleused = "Amount Used"
> + titlelim = "Quota Limit"
> + titlethr = "Warning Level"
> + titlesid = "SID"
> + buf = array.array('B', [0] * 16384)
> + struct.pack_into('<I', buf, 0, 4) # InfoType: Quota
> + struct.pack_into('<I', buf, 16, 16384) # InputBufferLength
> + struct.pack_into('<I', buf, 20, 16) # OutputBufferLength
> + struct.pack_into('b', buf, 24, 0) # return single
> + struct.pack_into('b', buf, 25, 1) # return single
> + try:
> + f = os.open(path, os.O_RDONLY)
> + fcntl.ioctl(f, CIFS_QUERY_INFO, buf, 1)
> + os.close(f)
> + if flag == 0:
> + print(BBOLD + " %-7s | %-7s | %-7s | %s " + ENDC) % (titleused, titlelim, titlethr, titlesid)
> + q = Quota(buf[24:24 + struct.unpack_from('<I', buf, 16)[0]], flag)
> + print(q)
> + except IOError as reason:
> + print("ioctl failed: %s" % reason)
> + except OSError as reason:
> + print("ioctl failed: %s" % reason)
> +
> +
> +def main():
> + if len(sys.argv) < 2:
> + usage()
> +
> + parser = argparse.ArgumentParser(description="Please specify an action to perform.", prog="smb2quota")
description is used to generate a useful help/usage message. Maybe use
"tool to display quota information for the Linux SMB client file system (CIFS)"
> + parser.add_argument("-tabular", "-t", metavar="", help="Print quota information in tabular format")
> + parser.add_argument("-csv", "-c", metavar="", help="Print quota information in csv format")
> + parser.add_argument("-list", "-l", metavar="", help="Print quota information in list format")
* I think we should use 2 dashes (i.e. "--tabular") for long options.
* For boolean flags, action="store_true" is what you want
* You can put let argparse know about the path arg, and then use args.path
parser.add_argument("--tabular", "-t", action="store_true", help="Print quota information in tabular format")
parser.add_argument("--csv", "-c", action="store_true", help="Print quota information in csv format")
parser.add_argument("--list", "-l", action="store_true", help="Print quota information in list format")
parser.add_argument("path", help="Path to query")
Cheers,
--
Aurélien Aptel / SUSE Labs Samba Team
GPG: 1839 CB5F 9F5B FB9B AA97 8C99 03C8 A49B 521B D5D3
SUSE Software Solutions Germany GmbH, Maxfeldstr. 5, 90409 Nürnberg, DE
GF: Felix Imendörffer, Mary Higgins, Sri Rasiah HRB 247165 (AG München)
next prev parent reply other threads:[~2019-10-09 13:13 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-24 4:56 [PATCH] smb2quota.py: Userspace helper to display quota information for the Linux SMB client file system (CIFS) Kenneth D'souza
2019-10-04 18:43 ` Pavel Shilovsky
2019-10-09 13:13 ` Aurélien Aptel [this message]
2019-10-09 13:57 ` Kenneth Dsouza
[not found] ` <CAA_-hQL8MpS9YEcaQpuiQnbsuJwerutnbxWhE-Fyk1X4jpvwcw@mail.gmail.com>
2019-10-09 14:31 ` Aurélien Aptel
2019-10-09 23:29 ` ronnie sahlberg
2019-10-10 0:51 ` Steve French
2019-10-10 7:22 ` Aurélien Aptel
2019-12-13 0:23 ` Pavel Shilovsky
2019-12-13 0:34 ` ronnie sahlberg
2019-12-13 0:59 ` Pavel Shilovsky
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87o8yqf4f6.fsf@suse.com \
--to=aaptel@suse.com \
--cc=kdsouza@redhat.com \
--cc=linux-cifs@vger.kernel.org \
--cc=lsahlber@redhat.com \
--cc=piastryyy@gmail.com \
--cc=smfrench@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.