summaryrefslogtreecommitdiff
path: root/utils/misc/grep-svn-log.py
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2017-01-02 19:26:05 +0000
committerDimitry Andric <dim@FreeBSD.org>2017-01-02 19:26:05 +0000
commit14f1b3e8826ce43b978db93a62d1166055db5394 (patch)
tree0a00ad8d3498783fe0193f3b656bca17c4c8697d /utils/misc/grep-svn-log.py
parent4ee8c119c71a06dcad1e0fecc8c675e480e59337 (diff)
Notes
Diffstat (limited to 'utils/misc/grep-svn-log.py')
-rwxr-xr-xutils/misc/grep-svn-log.py19
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