def __init__(self, request): super(NodeAppView, self).__init__(request) view = request.view_name subpath = request.subpath if not len(subpath): raise HTTPNotFound() appname = subpath[0] if len(subpath) == 1: # check for existence asset = 'haberdashery:apps/%s' % appname resolver = AssetResolver() descriptor = resolver.resolve(asset) if not descriptor.exists(): raise HTTPNotFound() # send back index to start load app settings = self.get_app_settings() basecolor = settings['default.css.basecolor'] template = 'trumpet:templates/webview-app.mako' env = dict(appname=appname, basecolor=basecolor) content = render(template, env) self.response = Response(body=content) else: #asset = 'haberdashery:apps/%s' % appname asset = os.path.join('haberdashery:apps', *subpath) self.response = static_asset_response(request, asset)
def handle_get(self): request = self.request view = request.view_name subpath = request.subpath if not view: route = self.request.matched_route.name if route == 'home': self.response = HTTPFound('/frontdoor') return raise HTTPNotFound() elif view in ['login', 'logout']: # This breaks GET has no side effects if view == 'logout': return self.handle_logout({}) self.response = HTTPFound('/frontdoor') return elif view == 'frontdoor': if not len(subpath): template = 'trumpet:templates/webview-app.mako' settings = self.get_app_settings() basecolor = settings['default.css.basecolor'] env = dict(appname='frontdoor', basecolor=basecolor) content = render(template, env) self.response = Response(body=content) self.response.encode_content() else: assetpath = 'trumpet:static/apps/frontdoor' asset = os.path.join(assetpath, *subpath) self.response = static_asset_response(request, asset) else: self.response = HTTPNotFound()
def __init__(self, request): super(StaticView, self).__init__(request) view = request.view_name if view in ['stdlib', 'stylesheets', 'components']: path = os.path.join(view, *request.subpath) asset = ':'.join(('haberdashery', path)) self.response = static_asset_response(request, asset) else: raise HTTPNotFound()
def __init__(self, request): super(LoaderView, self).__init__(request) subpath = self.request.subpath if len(subpath) != 1: subpath = '/'.join(subpath) self.response = HTTPNotFound('no such resource') return reqname = subpath[0] if not reqname.endswith('.js'): self.response = HTTPNotFound('no such resource') return if reqname in ['cs.js', 'coffee-script.js']: asset = 'haberdashery:%s' % os.path.join('stdlib', reqname) self.response = static_asset_response(request, asset) return name = reqname[:-3] template = Template(LOADER_TEMPLATE) content = template.render(name=name) self.response = Response(body=content, content_type='text/javascript') self.response.encode_content()