def amd_init(request): specname = request.matchdict['specname'] storage = request.registry.get(ID_AMD_MODULE) spec = request.registry.get(ID_AMD_SPEC, {}).get(specname) if spec is None and specname != '_': return HTTPNotFound() js = [] if spec is None: spec = {} if storage: for name, path in storage.items(): info = spec.get(name) if info and 'path' in info: url = request.route_url( 'ptah-amd-spec', specname=specname, name=info['name']) else: url = '%s'%request.static_url(path) js.append('"%s": "%s"'%(name, url[:-3])) for name, url in list_bundles(request): info = spec.get(name) if info and 'path' in info: url = request.route_url( 'ptah-amd-spec', specname=specname, name=info['name']) js.append('"%s":"%s"'%(name, url[:-3])) options = {'ptah_host': request.application_url, 'ptah_dt': {'short': 'm/d/yy h:MM TT', 'medium': 'mmm d, yyyy h:MM:ss TT', 'full': 'mmmm, d, yyyy h:MM:ss TT Z'} } response = request.response response.content_type = 'application/javascript' response.text = text_type(amd_init_tmpl%{ 'app_url': request.application_url, 'mods': ',\n'.join(sorted(js)), 'exrta': '\n'.join('var %s = %s'%(name, json.dumps(val)) for name, val in options.items())}) return response
def dumps(self, value): """ return json value representation """ return json.dumps(value)