Improve first line extractor. Only output at most two lines.

I've met .abc files where every line is a continuation.
This commit is contained in:
Jim Hague 2012-03-05 11:05:57 +00:00
parent 366f5d02ca
commit d10982be4f
1 changed files with 14 additions and 3 deletions

View File

@ -7,17 +7,28 @@
import sys import sys
def process(inf): def process(inf):
continued = False
print "X:1" print "X:1"
for line in inf: for line in inf:
line = line.strip() 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] 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"]: if start[0] in ["M", "K", "L"]:
print line print line
elif start[0] != "%": # Output line. If it is a continuation, output at most one
# continuation.
else:
print line print line
if line[-1] != "\\": if continued or line[-1] != "\\":
break break
else:
continued = True
if len(sys.argv) > 1: if len(sys.argv) > 1:
for arg in sys.argv[1:]: for arg in sys.argv[1:]: