@@ -181,31 +181,21 @@ def handle_placeholders(self, content):
181181 elif placeholder_pair == "language-footer" :
182182 re_pattern = re .compile (
183183 r"""
184- # Language footer - normal
185- ^\s*<p\ class="shaded(?:\ a-nobreak)?">\s*
186- <a(?:\ name="languages")?\ id="languages">
187- .*(?:\s*</p>)?
188- (?=\s*</div>\s*</div>\s*<div\ id="deed-foot">)
189- # Language footer - missing 2nd closing div
190- |
191- ^\s*<p\ class="shaded(?:\ a-nobreak)?">\s*
192- <a(?:\ name="languages")?\ id="languages">
193- .*\s*</p>
194- (?=\s*</div>\s*<div\ id="deed-foot">)
195- # Language footer - extra list markup w/random " char
196- |
197- ^\s*<p\ class="shaded(?:\ a-nobreak)?">\s*
198- <a(?:\ name="languages")?\ id="languages">
199- .*\s*</p>
200- (?=
201- \s*</li>\s*</ol>\s*</div>\s*</div>\s*"
202- \s*<div\ id="deed-foot">
184+ # Language list
185+ (?P<prefix>
186+ ^\s*<p\ class="shaded(?:\ a-nobreak)?">\s*
187+ <a(?:\ name="languages")?\ id="languages">
188+ .*?</a>[^<]+
203189 )
190+ (?P<languages>
191+ .*?</a>[.。]
192+ )
193+ (?=.*officialtranslations)
204194 """ ,
205195 re .DOTALL | re .MULTILINE | re .VERBOSE ,
206196 )
207- target = re_pattern .search (content ).group ()
208- replacement = f"{ start } \n { target .strip ()} \n { end } \n "
197+ target = re_pattern .search (content ).group ("languages" )
198+ replacement = f"\n { start } \n { target .strip ()} \n { end } \n "
209199 content = content .replace (target , replacement , 1 )
210200 return content
211201
0 commit comments