diff options
| author | Florent Xicluna <florent.xicluna@gmail.com> | 2014-04-26 16:13:48 +0200 |
|---|---|---|
| committer | Florent Xicluna <florent.xicluna@gmail.com> | 2014-04-26 16:13:48 +0200 |
| commit | c3b1fc2b749cffa4d43e3e71d968a5e37a30b6f2 (patch) | |
| tree | e7903b3c27cd54fb49e174a4de0a0d437df12a3c /pyflakes/api.py | |
| parent | a25406bc28d208400fb094aa5a82766ec6072c9c (diff) | |
| download | pyflakes-c3b1fc2b749cffa4d43e3e71d968a5e37a30b6f2.tar.gz | |
Skip the traceback on Control+C and Broken pipe signals; fixes lp:1285290
Diffstat (limited to 'pyflakes/api.py')
| -rw-r--r-- | pyflakes/api.py | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/pyflakes/api.py b/pyflakes/api.py index f32881e..e8647f9 100644 --- a/pyflakes/api.py +++ b/pyflakes/api.py @@ -6,7 +6,6 @@ from __future__ import with_statement import sys import os import _ast -from optparse import OptionParser from pyflakes import checker, __version__ from pyflakes import reporter as modReporter @@ -123,7 +122,18 @@ def checkRecursive(paths, reporter): def main(prog=None): - parser = OptionParser(prog=prog, version=__version__) + """Entry point for the script "pyflakes".""" + import optparse + import signal + + # Handle "Keyboard Interrupt" and "Broken pipe" gracefully + try: + signal.signal(signal.SIGINT, lambda sig, f: sys.exit('... stopped')) + signal.signal(signal.SIGPIPE, lambda sig, f: sys.exit(1)) + except ValueError: + pass # SIGPIPE is not supported on Windows + + parser = optparse.OptionParser(prog=prog, version=__version__) (__, args) = parser.parse_args() reporter = modReporter._makeDefaultReporter() if args: |
