Skip to content

Commit 265b94c

Browse files
committed
Bugfix for faulty header/footer stripping, sent to Yaco 2011-03-02.
- Legacy-Id: 2916
1 parent 5ab9f02 commit 265b94c

1 file changed

Lines changed: 13 additions & 20 deletions

File tree

ietf/utils/draft.py

Lines changed: 13 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -152,53 +152,46 @@ def _stripheaders(self):
152152
sentence = False
153153
haveblank = False
154154
# two functions with side effects
155-
def endpage(pages, page, line):
155+
def endpage(pages, page, newpage, line):
156156
if line:
157157
page += [ line ]
158-
return begpage(pages, page)
159-
def begpage(pages, page, line=None):
158+
return begpage(pages, page, newpage)
159+
def begpage(pages, page, newpage, line=None):
160160
if page and len(page) > 5:
161161
pages += [ "\n".join(page) ]
162162
page = []
163163
newpage = True
164164
if line:
165165
page += [ line ]
166-
return pages, page
166+
return pages, page, newpage
167167
for line in self.rawlines:
168-
# if re.search("^ *Curtis King", line):
169-
# debug = True
170-
# if re.search("^Intellectual", line):
171-
# debug = False
172-
# if debug:
173-
# _debug( "* newpage: %s; sentence: %s; haveblank: %s" % (newpage, sentence, haveblank))
174-
# _debug( " " + line)
175168
line = line.rstrip()
176169
if re.search("\[?[Pp]age [0-9ivx]+\]?[ \t\f]*$", line, re.I):
177-
pages, page = endpage(pages, page, line)
170+
pages, page, newpage = endpage(pages, page, newpage, line)
178171
continue
179172
if re.search("\f", line, re.I):
180-
pages, page = begpage(pages, page)
173+
pages, page, newpage = begpage(pages, page, newpage)
181174
continue
182175
if re.search("^ *Internet.Draft.+[12][0-9][0-9][0-9] *$", line, re.I):
183-
pages, page = begpage(pages, page, line)
176+
pages, page, newpage = begpage(pages, page, newpage, line)
184177
continue
185178
# if re.search("^ *Internet.Draft +", line, re.I):
186179
# newpage = True
187180
# continue
188181
if re.search("^ *Draft.+[12][0-9][0-9][0-9] *$", line, re.I):
189-
pages, page = begpage(pages, page, line)
182+
pages, page, newpage = begpage(pages, page, newpage, line)
190183
continue
191184
if re.search("^RFC[ -]?[0-9]+.*( +)[12][0-9][0-9][0-9]$", line, re.I):
192-
pages, page = begpage(pages, page, line)
185+
pages, page, newpage = begpage(pages, page, newpage, line)
193186
continue
194187
if re.search("^draft-[-a-z0-9_.]+.*[0-9][0-9][0-9][0-9]$", line, re.I):
195-
pages, page = endpage(pages, page, line)
188+
pages, page, newpage = endpage(pages, page, newpage, line)
196189
continue
197190
if re.search(".{60,}(Jan|Feb|Mar|March|Apr|April|May|Jun|June|Jul|July|Aug|Sep|Oct|Nov|Dec) (19[89][0-9]|20[0-9][0-9]) *$", line, re.I):
198-
pages, page = begpage(pages, page, line)
191+
pages, page, newpage = begpage(pages, page, newpage, line)
199192
continue
200193
if newpage and re.search("^ *draft-[-a-z0-9_.]+ *$", line, re.I):
201-
pages, page = begpage(pages, page, line)
194+
pages, page, newpage = begpage(pages, page, newpage, line)
202195
continue
203196
if re.search("^[^ \t]+", line):
204197
sentence = True
@@ -220,7 +213,7 @@ def begpage(pages, page, line=None):
220213
continue
221214
page += [ line ]
222215
stripped += [ line ]
223-
pages, page = begpage(pages, page)
216+
pages, page, newpage = begpage(pages, page, newpage)
224217
return stripped, pages
225218

226219
# ----------------------------------------------------------------------

0 commit comments

Comments
 (0)