cros_generate_deps_graphs: convert to commandline

We want to drop optparse.

BUG=None
TEST=lightly ran the tool

Change-Id: If2b04bb33bc02beee018ea0152bdf0924a045cf9
Reviewed-on: https://chromium-review.googlesource.com/379735
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Ningning Xia <nxia@chromium.org>
diff --git a/scripts/cros_generate_deps_graphs.py b/scripts/cros_generate_deps_graphs.py
index e39d0c8..cb3548c 100644
--- a/scripts/cros_generate_deps_graphs.py
+++ b/scripts/cros_generate_deps_graphs.py
@@ -7,10 +7,10 @@
 from __future__ import print_function
 
 import json
-import optparse  # pylint: disable=deprecated-module
 import os
 import sys
 
+from chromite.lib import commandline
 from chromite.lib import dot_helper
 
 
@@ -123,21 +123,30 @@
     dot_helper.GenerateImage(lines, filename, options.format, save_dot_filename)
 
 
+def GetParser():
+  """Return a command line parser."""
+  parser = commandline.ArgumentParser(description=__doc__)
+  parser.add_argument('-f', '--format', default='svg',
+                      help='Dot output format (png, svg, etc.).')
+  parser.add_argument('-o', '--output-dir', default='.',
+                      help='Output directory.')
+  parser.add_argument('-c', '--children', action='store_true',
+                      help='Also add children.')
+  parser.add_argument('-l', '--link', action='store_true',
+                      help='Embed links.')
+  parser.add_argument('-b', '--base-url', default='',
+                      help='Base url for links.')
+  parser.add_argument('-s', '--save-dot', action='store_true',
+                      help='Save dot files.')
+  parser.add_argument('inputs', nargs='*',
+                      help='Chromium OS package lists')
+  return parser
+
+
 def main(argv):
-  parser = optparse.OptionParser(usage='usage: %prog [options] input')
-  parser.add_option('-f', '--format', default='svg',
-                    help='Dot output format (png, svg, etc.).')
-  parser.add_option('-o', '--output-dir', default='.',
-                    help='Output directory.')
-  parser.add_option('-c', '--children', action='store_true',
-                    help='Also add children.')
-  parser.add_option('-l', '--link', action='store_true',
-                    help='Embed links.')
-  parser.add_option('-b', '--base-url', default='',
-                    help='Base url for links.')
-  parser.add_option('-s', '--save-dot', action='store_true',
-                    help='Save dot files.')
-  (options, inputs) = parser.parse_args(argv)
+  parser = GetParser()
+  options = parser.parse_args(argv)
+  options.Freeze()
 
   try:
     os.makedirs(options.output_dir)
@@ -145,9 +154,9 @@
     # The directory already exists.
     pass
 
-  if not inputs:
+  if not options.inputs:
     GenerateImages(sys.stdin.read(), options)
   else:
-    for i in inputs:
+    for i in options.inputs:
       with open(i) as handle:
         GenerateImages(handle.read(), options)