[Python-checkins] cpython: Add verbose option for diagnostics

raymond.hettinger python-checkins at python.org
Mon Jul 9 10:17:31 CEST 2012


http://hg.python.org/cpython/rev/9ded92b7f27c
changeset:   78021:9ded92b7f27c
user:        Raymond Hettinger <python at rcn.com>
date:        Mon Jul 09 01:17:22 2012 -0700
summary:
  Add verbose option for diagnostics

files:
  Tools/scripts/highlight.py |  10 +++++++++-
  1 files changed, 9 insertions(+), 1 deletions(-)


diff --git a/Tools/scripts/highlight.py b/Tools/scripts/highlight.py
--- a/Tools/scripts/highlight.py
+++ b/Tools/scripts/highlight.py
@@ -10,7 +10,7 @@
 
 def is_builtin(s):
     'Return True if s is the name of a builtin'
-    return s in vars(__builtins__)
+    return hasattr(__builtins__, s)
 
 def combine_range(lines, start, end):
     'Join content from a range of lines between start and end'
@@ -161,6 +161,8 @@
             help = 'build a complete html webpage')
     parser.add_argument('-s', '--section', action = 'store_true',
             help = 'show an HTML section rather than a complete webpage')
+    parser.add_argument('-v', '--verbose', action = 'store_true',
+            help = 'display categorized text to stderr')
     args = parser.parse_args()
 
     if args.section and (args.browser or args.complete):
@@ -172,6 +174,12 @@
         source = f.read()
     classified_text = analyze_python(source)
 
+    if args.verbose:
+        classified_text = list(classified_text)
+        for line_upto_token, kind, line_thru_token in classified_text:
+            sys.stderr.write('%15s:  %r\n' % ('leadin', line_upto_token))
+            sys.stderr.write('%15s:  %r\n\n' % (kind, line_thru_token))
+
     if args.complete or args.browser:
         encoded = build_html_page(classified_text, title=sourcefile)
     elif args.section:

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list