def queryOffset(self, request, userId): query1 = 'select timezone.gmtoffset from timezone, person where \ timezone.id = person.fk_timezone and person.id = %d' return self.db.db.runQuery(query1, (userId, )) def getOffset(self, rows): return rows[0][0] d = defer.maybeDeferred(lambda:None) d.addCallback(self.queryOffset, userId) offset = d.addCallback(self.getOffset) print offset mktimestamp = lambda x: DateTime(2005, 5, 1 + x / 48, (x % 48) / 2, (x % 2) * 30) - DateTimeDelta(0,offset)