import tornado.httpserver import tornado.ioloop import tornado.web import json import cgi from server_config import account, storage from weave_handler import WeaveHandler XML_BOILERPLATE = "\n" XRD_NS = "http://docs.oasis-open.org/ns/xri/xrd-1.0" class XRDPageHandler(WeaveHandler): def get(self, name): ctx = storage.get_context(name) wbo = storage.get(ctx, 'services', 'root') self.set_header('Content-Type', 'text/xml') self.write(XML_BOILERPLATE) self.write("\n" % XRD_NS) if wbo: list = json.loads(wbo.payload) self.write("\tacct:%s@id.mozilla.com\n" % name) for l in list: rel = l['rel'] uri = l['uri'] self.write("\n%s\n%s\n\n" % (cgi.escape(rel), cgi.escape(uri))) self.write("")