Я думал, что это само собой объясняется.
set_cookie - это метод tornado.web.RequestHandler
в то время как в вашем коде "self.set_cookie", self ссылается на объект класса GenCookie.
Ваш код может быть изменен, чтобы передать необходимую ссылку
class MainHandler(tornado.web.RequestHandler):
def get(self):
g=GenCookie(self)
response = g.genCookie()
class GenCookie:
def __init__(self, reqHandler):
self.reqHandler = reqHandler
def genCookie(self):
print self.request.remote_ip
print self.cookies
print self.request.headers
expires = datetime.datetime.utcnow() + datetime.timedelta(days=365)
if ("uid" in self.cookies):
self.reqHandler.set_cookie("uid", value=self.cookies["uid"],expires=expires)
else:
self.reqHandler.set_cookie("uid", value='dfc278623ab44df2bd501e106e81d146',expires=expires)
return