Example #1
0
 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)
Example #2
0
 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()
Example #3
0
 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()
Example #4
0
 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()