#!/usr/bin/env python
# -*- coding: utf-8 -*-
import mechanize, cookielib, re
class akinator():
def irc_cb(self, game_in_progress, opturl):
def info(page):
qinfo = re.findall('Question (.*?) :<br/>(.*?)</td>', page)
return qinfo
def getopts(page):
opts = re.findall("<a href='(.*?)'>(.*?)</a>", page)
return opts
def result(page):
answer = re.findall('I think of (.*?) <br/>', page)
return "I think of " + answer[0]
br = mechanize.Browser()
cj = cookielib.LWPCookieJar()
br.set_cookiejar(cj)
br.set_handle_equiv(True)
br.set_handle_redirect(True)
br.set_handle_referer(True)
br.set_handle_robots(False)
br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)
br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]
if game_in_progress is False:
r = br.open('http://en.akinator.com/mobile/new_session.php')
page = br.response().read()
return info(page), getopts(page)
if game_in_progress is True and opturl:
r = br.open(opturl)
page = br.response().read()
if 'I think of' in page:
return result(page), getopts(page)
elif "Click on your character if it belongs to the following list" in page:
return "You win!"
elif "Yippee, I guessed one more time!." in page:
return "Akinator wins!"
else:
return info(page), getopts(page)