summaryrefslogtreecommitdiff
path: root/utils/cmdline.py
diff options
context:
space:
mode:
authorArthur de Jong <arthur@arthurdejong.org>2013-01-28 23:13:22 +0100
committerArthur de Jong <arthur@arthurdejong.org>2013-02-08 21:29:02 +0100
commitded7bd226b51975544cd5bf4f8799787948ffccb (patch)
treed150297c56ea23c7a646123c844534bc9ec93609 /utils/cmdline.py
parent3117668c15cf88f877a538035875cd0f75ce821c (diff)
implement a getent command to query nslcd while bypassing NSS stack
Diffstat (limited to 'utils/cmdline.py')
-rw-r--r--utils/cmdline.py50
1 files changed, 50 insertions, 0 deletions
diff --git a/utils/cmdline.py b/utils/cmdline.py
new file mode 100644
index 0000000..eb84fe3
--- /dev/null
+++ b/utils/cmdline.py
@@ -0,0 +1,50 @@
+# coding: utf-8
+
+# cmdline.py - functions for handling command-line options
+#
+# Copyright (C) 2013 Arthur de Jong
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 USA
+
+import argparse
+
+import constants
+
+
+version_string = '''
+%s
+Written by Arthur de Jong.
+
+Copyright (C) 2013 Arthur de Jong
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+'''.strip() % constants.PACKAGE_STRING
+
+
+class VersionAction(argparse.Action):
+
+ def __init__(self, option_strings, dest,
+ help='output version information and exit'):
+ super(VersionAction, self).__init__(
+ option_strings=option_strings,
+ dest=argparse.SUPPRESS,
+ default=argparse.SUPPRESS,
+ nargs=0,
+ help=help)
+
+ def __call__(self, parser, namespace, values, option_string=None):
+ print version_string
+ parser.exit()