mirror of
https://github.com/Mikaela/Limnoria.git
synced 2024-11-23 19:19:32 +01:00
* Corrected the gameknot Forums regex to not require the ("&r=\d+") part since
not all the URLs necessarily have it. * Added the game title to the output as well (haven't done a ton of testing on the regex, but it worked on every game I tried it on)
This commit is contained in:
parent
c506306635
commit
99666246ed
@ -76,8 +76,9 @@ class Forums(callbacks.PrivmsgRegexp):
|
|||||||
|
|
||||||
_gkPlayer = re.compile(r"popd\('(Rating[^']+)'\).*?>([^<]+)<")
|
_gkPlayer = re.compile(r"popd\('(Rating[^']+)'\).*?>([^<]+)<")
|
||||||
_gkRating = re.compile(r": (\d+)[^:]+:<br>(\d+)[^,]+, (\d+)[^,]+, (\d+)")
|
_gkRating = re.compile(r": (\d+)[^:]+:<br>(\d+)[^,]+, (\d+)[^,]+, (\d+)")
|
||||||
|
_gkGameTitle = re.compile(r"<p><b>(.*?)\s*</b> \s*<span.*?>\(started")
|
||||||
def gameknot(self, irc, msg, match):
|
def gameknot(self, irc, msg, match):
|
||||||
r"http://(?:www\.)?gameknot.com/chess.pl\?bd=\d+&r=\d+"
|
r"http://(?:www\.)?gameknot.com/chess.pl\?bd=\d+(&r=\d+)?"
|
||||||
#debug.printf('Got a GK URL from %s' % msg.prefix)
|
#debug.printf('Got a GK URL from %s' % msg.prefix)
|
||||||
url = match.group(0)
|
url = match.group(0)
|
||||||
fd = urllib2.urlopen(url)
|
fd = urllib2.urlopen(url)
|
||||||
@ -86,6 +87,8 @@ class Forums(callbacks.PrivmsgRegexp):
|
|||||||
#debug.printf('Got the string.')
|
#debug.printf('Got the string.')
|
||||||
fd.close()
|
fd.close()
|
||||||
try:
|
try:
|
||||||
|
gameTitle = self._gkGameTitle.search(s).groups()
|
||||||
|
gameTitle = ircutils.bold(gameTitle)
|
||||||
((wRating, wName), (bRating, bName)) = self._gkPlayer.findall(s)
|
((wRating, wName), (bRating, bName)) = self._gkPlayer.findall(s)
|
||||||
wName = ircutils.bold(wName)
|
wName = ircutils.bold(wName)
|
||||||
bName = ircutils.bold(bName)
|
bName = ircutils.bold(bName)
|
||||||
@ -96,7 +99,8 @@ class Forums(callbacks.PrivmsgRegexp):
|
|||||||
wStats = '%s; W-%s, L-%s, D-%s' % (wRating, wWins, wLosses, wDraws)
|
wStats = '%s; W-%s, L-%s, D-%s' % (wRating, wWins, wLosses, wDraws)
|
||||||
bStats = '%s; W-%s, L-%s, D-%s' % (bRating, bWins, bLosses, bDraws)
|
bStats = '%s; W-%s, L-%s, D-%s' % (bRating, bWins, bLosses, bDraws)
|
||||||
irc.queueMsg(ircmsgs.privmsg(msg.args[0],
|
irc.queueMsg(ircmsgs.privmsg(msg.args[0],
|
||||||
'%s (%s) vs. %s (%s) <%s>' % (wName,wStats,bName,bStats,url)))
|
'%s: %s (%s) vs. %s (%s) <%s>' % (
|
||||||
|
gameTitle, wName, wStats, bName, bStats, url)))
|
||||||
except ValueError:
|
except ValueError:
|
||||||
irc.queueMsg(ircmsgs.privmsg(msg.args[0],
|
irc.queueMsg(ircmsgs.privmsg(msg.args[0],
|
||||||
'That doesn\'t appear to be a proper Gameknot game.'))
|
'That doesn\'t appear to be a proper Gameknot game.'))
|
||||||
|
Loading…
Reference in New Issue
Block a user