diff --git a/abcfirstline.py b/abcfirstline.py index ab6ccb0..ee06f21 100755 --- a/abcfirstline.py +++ b/abcfirstline.py @@ -7,17 +7,28 @@ import sys def process(inf): + continued = False print "X:1" for line in inf: line = line.strip() + # If it is empty or starts "%", ignore it. + if len(line) == 0 or line[0] == "%": + continue + + # Is it a header line? I.e. does it start LETTER COLON? + # If so, output only ones we need. start = line[:2] - if len(start) > 1 and start[0] != "|" and start[1] == ":": + if len(start) > 1 and start[1] == ":" and start[0].isalpha(): if start[0] in ["M", "K", "L"]: print line - elif start[0] != "%": + # Output line. If it is a continuation, output at most one + # continuation. + else: print line - if line[-1] != "\\": + if continued or line[-1] != "\\": break + else: + continued = True if len(sys.argv) > 1: for arg in sys.argv[1:]: