diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2017-01-02 19:26:05 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2017-01-02 19:26:05 +0000 |
commit | 14f1b3e8826ce43b978db93a62d1166055db5394 (patch) | |
tree | 0a00ad8d3498783fe0193f3b656bca17c4c8697d /utils/misc/grep-svn-log.py | |
parent | 4ee8c119c71a06dcad1e0fecc8c675e480e59337 (diff) |
Notes
Diffstat (limited to 'utils/misc/grep-svn-log.py')
-rwxr-xr-x | utils/misc/grep-svn-log.py | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/utils/misc/grep-svn-log.py b/utils/misc/grep-svn-log.py index ebbfe33f0520..86cc3ef1742f 100755 --- a/utils/misc/grep-svn-log.py +++ b/utils/misc/grep-svn-log.py @@ -9,7 +9,10 @@ Example: svn log -v | grep-svn-log.py '^ D.+why_are_you_missing.h$' """ -import fileinput, re, sys, StringIO +import fileinput +import re +import sys +import StringIO # Separator string for "svn log -v" output. separator = '-' * 72 @@ -18,30 +21,37 @@ usage = """Usage: grep-svn-log.py line-pattern Example: svn log -v | grep-svn-log.py '^ D.+why_are_you_missing.h'""" + class Log(StringIO.StringIO): """Simple facade to keep track of the log content.""" + def __init__(self): self.reset() + def add_line(self, a_line): """Add a line to the content, if there is a previous line, commit it.""" global separator - if self.prev_line != None: + if self.prev_line is not None: print >> self, self.prev_line self.prev_line = a_line self.separator_added = (a_line == separator) + def del_line(self): """Forget about the previous line, do not commit it.""" self.prev_line = None + def reset(self): """Forget about the previous lines entered.""" StringIO.StringIO.__init__(self) self.prev_line = None + def finish(self): """Call this when you're finished with populating content.""" - if self.prev_line != None: + if self.prev_line is not None: print >> self, self.prev_line self.prev_line = None + def grep(regexp): # The log content to be written out once a match is found. log = Log() @@ -50,7 +60,7 @@ def grep(regexp): FOUND_LINE_MATCH = 1 state = LOOKING_FOR_MATCH - while 1: + while True: line = sys.stdin.readline() if not line: return @@ -72,6 +82,7 @@ def grep(regexp): if regexp.search(line): state = FOUND_LINE_MATCH + def main(): if len(sys.argv) != 2: print usage |