All pastes #1959682 Raw Edit

Nikon

public text v1 · immutable
#1959682 ·published 2010-10-12 00:04 UTC
rendered paste body
#!/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&nbsp;(.*?) :<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)