Skip to content

Commit b61534b

Browse files
committed
Fixed news list not parsing correctly due to Tibia.com changes
1 parent 79ed91e commit b61534b

File tree

6 files changed

+42
-321
lines changed

6 files changed

+42
-321
lines changed

tests/resources/news/tibiacom_list.txt

Lines changed: 4 additions & 266 deletions
Large diffs are not rendered by default.
Lines changed: 4 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,4 @@
1-
<div class="BoxContent" style="background-image:url(https://ssl-static-tibia.akamaized.net/images/global/content/scroll.gif);">
2-
<table cellspacing=1 cellpadding=4 width='100%'><tr bgcolor=#505050><td colspan=3 class=white><b>Search Results</b></td></tr><tr class=Odd><td colspan=3 valign=top>(no news found)</td></tr>
3-
</table><br/> <form action="https://www.tibia.com/news/?subtopic=newsarchive" method=post>
4-
<table border=0 cellspacing=1 cellpadding=4 width="100%">
5-
<tr bgcolor=#505050><td colspan=4 class=white><b>News Archive Search</b></td></tr>
6-
<tr bgcolor=#D4C0A1 valign=middle align=center>
7-
<td width=25%><b>Time Period</b></td>
8-
<td width=30%><b>Type</b></td>
9-
<td width=30%><b>Category</b></td>
10-
</tr>
11-
<tr bgcolor=#D4C0A1 valign=middle align=center >
12-
<td>
13-
<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 ALIGN=LEFT><TR><TD></TD><TD>Day:&#160;</TD><TD>Month:&#160;</TD><TD>Year:</TD></TR><TR><td>From:&#160;</td><TD nowrap=nowrap><SELECT NAME="filter_begin_day"><OPTION VALUE="1">1<OPTION VALUE="2">2<OPTION VALUE="3">3<OPTION VALUE="4">4<OPTION VALUE="5">5<OPTION VALUE="6">6<OPTION VALUE="7">7<OPTION VALUE="8">8<OPTION VALUE="9">9<OPTION VALUE="10">10<OPTION VALUE="11">11<OPTION VALUE="12">12<OPTION VALUE="13">13<OPTION VALUE="14">14<OPTION VALUE="15">15<OPTION VALUE="16">16<OPTION VALUE="17">17<OPTION VALUE="18">18<OPTION VALUE="19">19<OPTION VALUE="20">20<OPTION VALUE="21">21<OPTION VALUE="22">22<OPTION VALUE="23" SELECTED>23<OPTION VALUE="24">24<OPTION VALUE="25">25<OPTION VALUE="26">26<OPTION VALUE="27">27<OPTION VALUE="28">28<OPTION VALUE="29">29<OPTION VALUE="30">30<OPTION VALUE="31">31</SELECT>&#160;</TD><TD nowrap=nowrap><SELECT NAME="filter_begin_month"><OPTION VALUE="1">1<OPTION VALUE="2">2<OPTION VALUE="3">3<OPTION VALUE="4">4<OPTION VALUE="5" SELECTED>5<OPTION VALUE="6">6<OPTION VALUE="7">7<OPTION VALUE="8">8<OPTION VALUE="9">9<OPTION VALUE="10">10<OPTION VALUE="11">11<OPTION VALUE="12">12</SELECT>&#160;</TD><TD><SELECT NAME="filter_begin_year"><OPTION VALUE="2000">2000<OPTION VALUE="2001">2001<OPTION VALUE="2002">2002<OPTION VALUE="2003">2003<OPTION VALUE="2004">2004<OPTION VALUE="2005">2005<OPTION VALUE="2006">2006<OPTION VALUE="2007">2007<OPTION VALUE="2008">2008<OPTION VALUE="2009">2009<OPTION VALUE="2010">2010<OPTION VALUE="2011">2011<OPTION VALUE="2012">2012<OPTION VALUE="2013">2013<OPTION VALUE="2014">2014<OPTION VALUE="2015">2015<OPTION VALUE="2016">2016<OPTION VALUE="2017">2017<OPTION VALUE="2018">2018<OPTION VALUE="2019" SELECTED>2019</SELECT></TD></TR><tr><td>&#160;</td></tr><TR><TD></TD><TD>Day:&#160;</TD><TD>Month:&#160;</TD><TD>Year: </TD></TR><TR><td ALIGN=right>To:&#160;</td><TD nowrap=nowrap><SELECT NAME="filter_end_day"><OPTION VALUE="1">1<OPTION VALUE="2">2<OPTION VALUE="3">3<OPTION VALUE="4">4<OPTION VALUE="5">5<OPTION VALUE="6">6<OPTION VALUE="7">7<OPTION VALUE="8">8<OPTION VALUE="9">9<OPTION VALUE="10">10<OPTION VALUE="11">11<OPTION VALUE="12">12<OPTION VALUE="13">13<OPTION VALUE="14">14<OPTION VALUE="15">15<OPTION VALUE="16">16<OPTION VALUE="17">17<OPTION VALUE="18">18<OPTION VALUE="19">19<OPTION VALUE="20">20<OPTION VALUE="21">21<OPTION VALUE="22">22<OPTION VALUE="23">23<OPTION VALUE="24">24<OPTION VALUE="25" SELECTED>25<OPTION VALUE="26">26<OPTION VALUE="27">27<OPTION VALUE="28">28<OPTION VALUE="29">29<OPTION VALUE="30">30<OPTION VALUE="31">31</SELECT>&#160;</TD><TD nowrap=nowrap><SELECT NAME="filter_end_month"><OPTION VALUE="1">1<OPTION VALUE="2">2<OPTION VALUE="3">3<OPTION VALUE="4">4<OPTION VALUE="5" SELECTED>5<OPTION VALUE="6">6<OPTION VALUE="7">7<OPTION VALUE="8">8<OPTION VALUE="9">9<OPTION VALUE="10">10<OPTION VALUE="11">11<OPTION VALUE="12">12</SELECT>&#160;</TD><TD><SELECT NAME="filter_end_year"><OPTION VALUE="2000">2000<OPTION VALUE="2001">2001<OPTION VALUE="2002">2002<OPTION VALUE="2003">2003<OPTION VALUE="2004">2004<OPTION VALUE="2005">2005<OPTION VALUE="2006">2006<OPTION VALUE="2007">2007<OPTION VALUE="2008">2008<OPTION VALUE="2009">2009<OPTION VALUE="2010">2010<OPTION VALUE="2011">2011<OPTION VALUE="2012">2012<OPTION VALUE="2013">2013<OPTION VALUE="2014">2014<OPTION VALUE="2015">2015<OPTION VALUE="2016">2016<OPTION VALUE="2017">2017<OPTION VALUE="2018">2018<OPTION VALUE="2019" SELECTED>2019</SELECT></TD></TR></TABLE> </td>
14-
<td nowrap=nowrap>
15-
<div align=left>
16-
<input type="checkbox" name="filter_ticker" value="ticker"/>News Ticker<br/>
17-
<input type="checkbox" name="filter_article" value="article" checked/>Featured Article<br/>
18-
<input type="checkbox" name="filter_news" value="news"/>News<br/>
19-
</div>
20-
</td>
21-
<td nowrap=nowrap valign=middle >
22-
<div align=left >
23-
<table cellspacing=1 cellpadding=0 border=0 align=left>
24-
<tr><td nowrap=nowrap valign=middle><input style="position: relative; top: -1px;" type="checkbox" name="filter_cipsoft" value="cipsoft" checked/><img style="position: relative; top: 1px;" src="https://ssl-static-tibia.akamaized.net/images/global/content/newsicon_cipsoft_small.gif" /></td><td nowrap=nowrap valign=middle>CipSoft</td></tr>
25-
<tr><td nowrap=nowrap valign=middle><input style="position: relative; top: -1px;" type="checkbox" name="filter_community" value="community" checked/><img style="position: relative; top: 1px;" src="https://ssl-static-tibia.akamaized.net/images/global/content/newsicon_community_small.gif" /></td><td nowrap=nowrap valign=middle>Community</td></tr>
26-
<tr><td nowrap=nowrap valign=middle><input style="position: relative; top: -1px;" type="checkbox" name="filter_development" value="development" checked/><img style="position: relative; top: 1px;" src="https://ssl-static-tibia.akamaized.net/images/global/content/newsicon_development_small.gif" /></td><td nowrap=nowrap valign=middle>Development</td></tr>
27-
<tr><td nowrap=nowrap valign=middle><input style="position: relative; top: -1px;" type="checkbox" name="filter_support" value="support" checked/><img style="position: relative; top: 1px;" src="https://ssl-static-tibia.akamaized.net/images/global/content/newsicon_support_small.gif" /></td><td nowrap=nowrap valign=middle>Support</td></tr>
28-
<tr><td nowrap=nowrap valign=middle><input style="position: relative; top: -1px;" type="checkbox" name="filter_technical" value="technical" checked/><img style="position: relative; top: 1px;" src="https://ssl-static-tibia.akamaized.net/images/global/content/newsicon_technical_small.gif" /></td><td nowrap=nowrap valign=middle>Technical Issues</td></tr>
29-
</table>
30-
</div>
31-
</td>
32-
</tr>
33-
</table><br/>
34-
<center><TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0><TR><TD>
35-
<INPUT TYPE=image NAME="Submit" ALT="Submit" SRC="https://ssl-static-tibia.akamaized.net/images/global/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18>
36-
</TD></TR></FORM></TABLE>
37-
</center>
38-
</div>
1+
<div class="BoxContent" style="background-image:url(https://static.tibia.com/images/global/content/scroll.gif);">
2+
<div class="TableContainer"> <table class="Table3" cellpadding="0" cellspacing="0"> <div class="CaptionContainer"> <div class="CaptionInnerContainer"> <span class="CaptionEdgeLeftTop" style="background-image:url(https://static.tibia.com/images/global/content/box-frame-edge.gif);" /></span> <span class="CaptionEdgeRightTop" style="background-image:url(https://static.tibia.com/images/global/content/box-frame-edge.gif);" /></span> <span class="CaptionBorderTop" style="background-image:url(https://static.tibia.com/images/global/content/table-headline-border.gif);"></span> <span class="CaptionVerticalLeft" style="background-image:url(https://static.tibia.com/images/global/content/box-frame-vertical.gif);" /></span> <div class="Text">Search Results</div> <span class="CaptionVerticalRight" style="background-image:url(https://static.tibia.com/images/global/content/box-frame-vertical.gif);" /></span> <span class="CaptionBorderBottom" style="background-image:url(https://static.tibia.com/images/global/content/table-headline-border.gif);"></span> <span class="CaptionEdgeLeftBottom" style="background-image:url(https://static.tibia.com/images/global/content/box-frame-edge.gif);" /></span> <span class="CaptionEdgeRightBottom" style="background-image:url(https://static.tibia.com/images/global/content/box-frame-edge.gif);" /></span> </div> </div> <tr> <td> <div class="InnerTableContainer"> <table style="width:100%;"><tr><td> <div class="TableContentContainer"> <table class="TableContent" width="100%" style="border:1px solid #faf0d7;"><tr class="Odd"><td>(no news found)</td></tr> </table> </div></td></tr> </table> </div> </td> </tr> </table></div><br /><form action="https://www.tibia.com/news/?subtopic=newsarchive" method="post"><div class="TableContainer"> <table class="Table3" cellpadding="0" cellspacing="0"> <div class="CaptionContainer"> <div class="CaptionInnerContainer"> <span class="CaptionEdgeLeftTop" style="background-image:url(https://static.tibia.com/images/global/content/box-frame-edge.gif);" /></span> <span class="CaptionEdgeRightTop" style="background-image:url(https://static.tibia.com/images/global/content/box-frame-edge.gif);" /></span> <span class="CaptionBorderTop" style="background-image:url(https://static.tibia.com/images/global/content/table-headline-border.gif);"></span> <span class="CaptionVerticalLeft" style="background-image:url(https://static.tibia.com/images/global/content/box-frame-vertical.gif);" /></span> <div class="Text">News Archive Search</div> <span class="CaptionVerticalRight" style="background-image:url(https://static.tibia.com/images/global/content/box-frame-vertical.gif);" /></span> <span class="CaptionBorderBottom" style="background-image:url(https://static.tibia.com/images/global/content/table-headline-border.gif);"></span> <span class="CaptionEdgeLeftBottom" style="background-image:url(https://static.tibia.com/images/global/content/box-frame-edge.gif);" /></span> <span class="CaptionEdgeRightBottom" style="background-image:url(https://static.tibia.com/images/global/content/box-frame-edge.gif);" /></span> </div> </div> <tr> <td> <div class="InnerTableContainer"> <table style="width:100%;"><tr><td> <div class="TableContentContainer"> <table class="TableContent" width="100%" style="border:1px solid #faf0d7;"><tr><td width="25%"><b>Time Period</b></td><td width="30%"><b>Type</b></td><td width="30%"><b>Category</b></td></tr><tr><td><table class="DateTable"><tr><td></td><td>Day:</td><td>Month:</td><td>Year:</td></tr><tr><td>From:</td><td nowrap="nowrap"><select name="filter_begin_day"><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option><option value="10">10</option><option value="11">11</option><option value="12">12</option><option value="13">13</option><option value="14">14</option><option value="15">15</option><option value="16">16</option><option value="17">17</option><option value="18">18</option><option value="19">19</option><option value="20">20</option><option value="21">21</option><option value="22">22</option><option value="23" selected="selected">23</option><option value="24">24</option><option value="25">25</option><option value="26">26</option><option value="27">27</option><option value="28">28</option><option value="29">29</option><option value="30">30</option><option value="31">31</option></select></td><td nowrap="nowrap"><select name="filter_begin_month"><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5" selected="selected">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option><option value="10">10</option><option value="11">11</option><option value="12">12</option></select></td><td><select name="filter_begin_year"><option value="2000">2000</option><option value="2001">2001</option><option value="2002">2002</option><option value="2003">2003</option><option value="2004">2004</option><option value="2005">2005</option><option value="2006">2006</option><option value="2007">2007</option><option value="2008">2008</option><option value="2009">2009</option><option value="2010">2010</option><option value="2011">2011</option><option value="2012">2012</option><option value="2013">2013</option><option value="2014">2014</option><option value="2015">2015</option><option value="2016">2016</option><option value="2017">2017</option><option value="2018">2018</option><option value="2019" selected="selected">2019</option><option value="2020">2020</option><option value="2021">2021</option></select></td></tr><tr><td></td></tr><tr><td></td><td>Day:</td><td>Month:</td><td>Year:</td></tr><tr><td align="right">To:</td><td nowrap=nowrap><select name="filter_end_day"><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option><option value="10">10</option><option value="11">11</option><option value="12">12</option><option value="13">13</option><option value="14">14</option><option value="15">15</option><option value="16">16</option><option value="17">17</option><option value="18">18</option><option value="19">19</option><option value="20">20</option><option value="21">21</option><option value="22">22</option><option value="23">23</option><option value="24">24</option><option value="25" selected="selected">25</option><option value="26">26</option><option value="27">27</option><option value="28">28</option><option value="29">29</option><option value="30">30</option><option value="31">31</option></select></td><td nowrap="nowrap"><select name="filter_end_month"><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5" selected="selected">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option><option value="10">10</option><option value="11">11</option><option value="12">12</option></select></td><td><select name="filter_end_year"><option value="2000">2000</option><option value="2001">2001</option><option value="2002">2002</option><option value="2003">2003</option><option value="2004">2004</option><option value="2005">2005</option><option value="2006">2006</option><option value="2007">2007</option><option value="2008">2008</option><option value="2009">2009</option><option value="2010">2010</option><option value="2011">2011</option><option value="2012">2012</option><option value="2013">2013</option><option value="2014">2014</option><option value="2015">2015</option><option value="2016">2016</option><option value="2017">2017</option><option value="2018">2018</option><option value="2019" selected="selected">2019</option><option value="2020">2020</option><option value="2021">2021</option></select></td></tr></table></td><td><label><input type="checkbox" name="filter_ticker" value="ticker" />News Ticker</label><br /><label><input type="checkbox" name="filter_article" value="article" checked="checked" />Featured Article</label><br /><label><input type="checkbox" name="filter_news" value="news" />News</label><br /></td><td><label><input type="checkbox" name="filter_cipsoft" value="cipsoft" checked="checked" /><img class="NewsTypeIcon" src="https://static.tibia.com/images/global/content/newsicon_cipsoft_small.gif" /> CipSoft</label><br /><label><input type="checkbox" name="filter_community" value="community" checked="checked" /><img class="NewsTypeIcon" src="https://static.tibia.com/images/global/content/newsicon_community_small.gif" /> Community</label><br /><label><input type="checkbox" name="filter_development" value="development" checked="checked" /><img class="NewsTypeIcon" src="https://static.tibia.com/images/global/content/newsicon_development_small.gif" /> Development</label><br /><label><input type="checkbox" name="filter_support" value="support" checked="checked" /><img class="NewsTypeIcon" src="https://static.tibia.com/images/global/content/newsicon_support_small.gif" /> Support</label><br /><label><input type="checkbox" name="filter_technical" value="technical" checked="checked" /><img class="NewsTypeIcon" src="https://static.tibia.com/images/global/content/newsicon_technical_small.gif" /> Technical Issues</label><br /></td></tr> </table> </div></td></tr> </table> </div> </td> </tr> </table></div><br /><center><div class="BigButton" style="background-image:url(https://static.tibia.com/images/global/buttons/button_blue.gif)"><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);"><div class="BigButtonOver" style="background-image:url(https://static.tibia.com/images/global/buttons/button_blue_over.gif);"></div><input class="BigButtonText" type="submit" value="Submit" /></div></div></center></form> </div>
3+
</div>
4+
</div>

tibiapy/house.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,8 @@ def _parse_filters(self, filters_table):
198198
world_select = filters_table.find("select", {"name": "world"})
199199
for world_option in world_select.find_all("option"):
200200
world_name = world_option.text
201+
if "(" in world_name:
202+
continue
201203
self.available_worlds.append(world_name)
202204
if world_option.attrs.get("selected"):
203205
self.world = world_name

tibiapy/leaderboard.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ def from_content(cls, content):
166166
leaderboard = cls(current_world, current_rotation)
167167
leaderboard.available_worlds = [w for w in data["__options__"]["world"].values() if w]
168168
leaderboard.available_rotations = rotations
169-
if leaderboard.rotation.current:
169+
if leaderboard.rotation and leaderboard.rotation.current:
170170
last_update_table = tables[2]
171171
numbers = re.findall(r'(\d+)', last_update_table.text)
172172
if numbers:

0 commit comments

Comments
 (0)