import cherrypy from turbogatewaydemos.model import Person from flashticle.remoting import recordset from flashticle.amf import to_amf, typedobject @to_amf.when("isinstance(obj, Person)") def to_amf_Person(obj): """ Serialize Person objects as PersonVO in Flash """ return to_amf(typedobject("com.ariaware.birthday.vo.PersonVO", dict( forename=obj.forename, surname=obj.surname, dob=obj.dob, ))) class BirthdayOrganizer(object): @cherrypy.expose() def addPerson(self, person): if person is None: return None try: Person( forename=person.forename, surname=person.surname, dob=person.dob, ) except (SystemExit, KeyboardInterrupt): raise except: return False return True @cherrypy.expose() def getDateOfBirth(self, person): if person is None: return None return Person.selectBy( forename=person.forename, surname=person.surname )[0] @cherrypy.expose() def getPersonList(self): return list(Person.select(orderBy='dob'))