import agora
from agora import OopsError
persons = {}
def p(x):
	try:
		return persons[x]
	except KeyError:
		for p in persons:
			if x in p.nicknames:
				return x
	# We haven't found ANYONE
	raise OopsError('no such person as ' + str(x))
class person:
	def __init__(self, nick):
		self.isPlayer = False
		self.dereg_time = 0
		self.nicknames = [nick]
		pass
	def add(self, stuff, color, number):
		if not stuff.has_key(color):
			stuff[color] = 0
		stuff[color] += number
	
	# Actions
	# The idea here is,
	# if something turns out to be messed up,
	
	def action_Register(self):
		if agora.action_time - self.dereg_time < 60*60*24*30:
			raise OopsError('Registration too soon (you\'ve only waited %s)' % (agora.action_time - self.dereg_time))
		if self.isPlayer:
			print 'person.action_Register: ' + self.nicknames[0] + ' already a player, mm'
		self.isPlayer = True
	def action_Deregister(self):
		self.isPlayer = False
		self.dereg_time = agora.action_time
def add(x):
	if persons.has_key(x):
		print 'person.add: Um, this guy %s already exists, but it\'s ok' % (x,)
	else:
		persons[x] = person(x)