Blob Blame History Raw
From 68e3d6e74f0941c98aaeb82b89c954c76246ba7a Mon Sep 17 00:00:00 2001
From: John Kacur <jkacur@redhat.com>
Date: Wed, 28 Nov 2018 04:28:53 +0100
Subject: [PATCH 2/2] python-linux-procfs: pflags: Use argparse to create a
 help option

The purpose of this change was to create a -h, or --help option.
The following changes were made.

1. pflags is now python3 only, since it uses argparse.
2. The handling of pids or process names is improved, instead of a
command separated list (without spaces), the more standard unix way of
space separated command line arguements are used.

This is explained in the help

./pflags -h
usage: pflags [-h] [pid [pid ...]]

Print process flags

positional arguments:
  pid         a list of pids or names

optional arguments:
  -h, --help  show this help message and exit

Signed-off-by: John Kacur <jkacur@redhat.com>
---
 pflags | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/pflags b/pflags
index abfcfe9e9ec1..a1667fc06131 100755
--- a/pflags
+++ b/pflags
@@ -1,4 +1,4 @@
-#! /usr/bin/python
+#! /usr/bin/python3
 # -*- python -*-
 # -*- coding: utf-8 -*-
 #   print process flags
@@ -14,8 +14,9 @@
 #   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 #   General Public License for more details.
 
-from __future__ import print_function
+
 import procfs, re, fnmatch, sys
+import argparse
 from functools import reduce
 from six.moves import map
 
@@ -38,8 +39,13 @@ def main(argv):
 	global ps
 	ps = procfs.pidstats()
 
+	parser = argparse.ArgumentParser(description='Print process flags')
+	parser.add_argument('pid', nargs='*', help='a list of pids or names')
+	args = parser.parse_args()
+
 	if (len(argv) > 1):
-		pids = reduce(lambda i, j: i + j, list(map(thread_mapper, argv[1].split(","))))
+		pids = args.pid
+		pids = reduce(lambda i, j: i + j, list(map(thread_mapper, pids)))
 	else:
 		pids = list(ps.processes.keys())
 
-- 
2.19.1