X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=bin%2Fdjbdns-logparse;h=218801d0e263f6aaa056c4ec9fe523c0270997ca;hb=d5ffd8dfd137722335b066be63bb24289a52c71a;hp=7808fbd99a5042a9adc31828933949325561585e;hpb=b92f64a49cd6ae8ba2210df02810ede43eb370fe;p=djbdns-logparse.git diff --git a/bin/djbdns-logparse b/bin/djbdns-logparse index 7808fbd..218801d 100755 --- a/bin/djbdns-logparse +++ b/bin/djbdns-logparse @@ -2,6 +2,8 @@ r""" Convert tinydns and dnscache logs to human-readable form """ +from signal import signal, SIGINT +from sys import exit, stdin from argparse import ArgumentParser, FileType from djbdns.io import parse_logfile @@ -11,7 +13,6 @@ parser = ArgumentParser(description = __doc__) # Parse zero or more positional arguments into a list of # "logfiles". If none are given, read from stdin instead. -from sys import stdin parser.add_argument("logfiles", metavar="LOGFILE", type=FileType("r"), @@ -29,5 +30,11 @@ parser.add_argument("logfiles", # # So anyway, don't run this on several million logfiles. args = parser.parse_args() + +# Install a SIGINT handler so thst we don't spit out a stack trace when +# the user accidentally starts the program with no arguments and then +# hits Ctrl-C to kill it. +signal(SIGINT, lambda s,f: exit(0)) + for f in args.logfiles: parse_logfile(f)