Prevent index errors searching for comments
Make sure not to exceed existing indexes of wikicode object while trying to search for comments Related Task: [FS#141](https://fs.golderweb.de/index.php?do=details&task_id=141)
This commit is contained in:
@@ -224,22 +224,25 @@ class MarkPagesBot( CurrentPageBot ): # sets 'current_page' on each treat()
|
|||||||
insert_after_index = self.current_wikicode.index(
|
insert_after_index = self.current_wikicode.index(
|
||||||
ltemplates[-1] )
|
ltemplates[-1] )
|
||||||
|
|
||||||
|
# If there is more content
|
||||||
|
if len(self.current_wikicode.nodes) > (insert_after_index + 1):
|
||||||
# Filter one linebreak
|
# Filter one linebreak
|
||||||
if isinstance( self.current_wikicode.get(
|
if isinstance( self.current_wikicode.get(
|
||||||
insert_after_index + 1), mwparser.nodes.text.Text ) and \
|
insert_after_index + 1),
|
||||||
|
mwparser.nodes.text.Text) and \
|
||||||
re.search( r"^\n[^\n\S]+$", self.current_wikicode.get(
|
re.search( r"^\n[^\n\S]+$", self.current_wikicode.get(
|
||||||
insert_after_index + 1 ).value ):
|
insert_after_index + 1 ).value ):
|
||||||
|
|
||||||
insert_after_index += 1
|
insert_after_index += 1
|
||||||
|
|
||||||
while isinstance(
|
while len(self.current_wikicode.nodes) > \
|
||||||
|
(insert_after_index + 1) and \
|
||||||
|
isinstance(
|
||||||
self.current_wikicode.get(insert_after_index + 1),
|
self.current_wikicode.get(insert_after_index + 1),
|
||||||
mwparser.nodes.comment.Comment ):
|
mwparser.nodes.comment.Comment ):
|
||||||
|
|
||||||
insert_after_index += 1
|
insert_after_index += 1
|
||||||
|
|
||||||
else:
|
|
||||||
|
|
||||||
self.current_wikicode.insert_after(
|
self.current_wikicode.insert_after(
|
||||||
self.current_wikicode.get(insert_after_index),
|
self.current_wikicode.get(insert_after_index),
|
||||||
self.disc_notice )
|
self.disc_notice )
|
||||||
|
|||||||
Reference in New Issue
Block a user