schooltool_1     | 2018-10-09 17:56:24,368 https://localhost/calendar/daily.html
schooltool_1     | Traceback (most recent call last):
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/publisher/publish.py", line 132, in publish
schooltool_1     |     result = publication.callObject(request, obj)
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/app/publication/zopepublication.py", line 205, in callObject
schooltool_1     |     return mapply(ob, request.getPositionalArguments(), request)
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/publisher/publish.py", line 107, in mapply
schooltool_1     |     return debug_call(obj, args)
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/publisher/publish.py", line 113, in debug_call
schooltool_1     |     return obj(*args)
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/schooltool/skin/flourish/page.py", line 102, in __call__
schooltool_1     |     result = self.render(*args, **kw)
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/schooltool/skin/flourish/page.py", line 56, in render
schooltool_1     |     return self.template(*args, **kw)
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/browserpage/viewpagetemplatefile.py", line 81, in __call__
schooltool_1     |     return self.im_func(im_self, *args, **kw)
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/browserpage/viewpagetemplatefile.py", line 49, in __call__
schooltool_1     |     sourceAnnotations=getattr(debug_flags, 'sourceAnnotations', 0),
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/pagetemplate/pagetemplate.py", line 132, in pt_render
schooltool_1     |     strictinsert=0, sourceAnnotations=sourceAnnotations
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/pagetemplate/pagetemplate.py", line 241, in __call__
schooltool_1     |     interpreter()
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/tal/talinterpreter.py", line 271, in __call__
schooltool_1     |     self.interpret(self.program)
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/tal/talinterpreter.py", line 343, in interpret
schooltool_1     |     handlers[opcode](self, args)
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/tal/talinterpreter.py", line 533, in do_optTag_tal
schooltool_1     |     self.do_optTag(stuff)
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/tal/talinterpreter.py", line 518, in do_optTag
schooltool_1     |     return self.no_tag(start, program)
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/tal/talinterpreter.py", line 513, in no_tag
schooltool_1     |     self.interpret(program)
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/tal/talinterpreter.py", line 343, in interpret
schooltool_1     |     handlers[opcode](self, args)
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/tal/talinterpreter.py", line 742, in do_insertStructure_tal
schooltool_1     |     structure = self.engine.evaluateStructure(expr)
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/tales/tales.py", line 696, in evaluate
schooltool_1     |     return expression(self)
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/tales/expressions.py", line 217, in __call__
schooltool_1     |     return self._eval(econtext)
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/tales/expressions.py", line 211, in _eval
schooltool_1     |     return ob()
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/schooltool/skin/flourish/content.py", line 56, in __call__
schooltool_1     |     return self.render(*args, **kw)
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/schooltool/skin/flourish/viewlet.py", line 235, in <lambda>
schooltool_1     |     render = lambda self, *args, **kw: self.template(*args, **kw)
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/browserpage/viewpagetemplatefile.py", line 81, in __call__
schooltool_1     |     return self.im_func(im_self, *args, **kw)
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/schooltool/common/inlinept.py", line 110, in __call__
schooltool_1     |     showtal=getattr(instance.request.debug, 'showTAL', False),
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/pagetemplate/pagetemplate.py", line 132, in pt_render
schooltool_1     |     strictinsert=0, sourceAnnotations=sourceAnnotations
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/pagetemplate/pagetemplate.py", line 241, in __call__
schooltool_1     |     interpreter()
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/tal/talinterpreter.py", line 271, in __call__
schooltool_1     |     self.interpret(self.program)
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/tal/talinterpreter.py", line 343, in interpret
schooltool_1     |     handlers[opcode](self, args)
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/tal/talinterpreter.py", line 821, in do_loop_tal
schooltool_1     |     self.interpret(block)
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/tal/talinterpreter.py", line 343, in interpret
schooltool_1     |     handlers[opcode](self, args)
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/tal/talinterpreter.py", line 533, in do_optTag_tal
schooltool_1     |     self.do_optTag(stuff)
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/tal/talinterpreter.py", line 518, in do_optTag
schooltool_1     |     return self.no_tag(start, program)
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/tal/talinterpreter.py", line 513, in no_tag
schooltool_1     |     self.interpret(program)
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/tal/talinterpreter.py", line 343, in interpret
schooltool_1     |     handlers[opcode](self, args)
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/tal/talinterpreter.py", line 583, in do_setLocal_tal
schooltool_1     |     self.engine.setLocal(name, self.engine.evaluateValue(expr))
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/tales/tales.py", line 696, in evaluate
schooltool_1     |     return expression(self)
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/tales/expressions.py", line 217, in __call__
schooltool_1     |     return self._eval(econtext)
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/tales/expressions.py", line 211, in _eval
schooltool_1     |     return ob()
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/schooltool/skin/flourish/viewlet.py", line 73, in __call__
schooltool_1     |     return self.render(*args, **kw)
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/browserpage/viewpagetemplatefile.py", line 81, in __call__
schooltool_1     |     return self.im_func(im_self, *args, **kw)
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/schooltool/common/inlinept.py", line 110, in __call__
schooltool_1     |     showtal=getattr(instance.request.debug, 'showTAL', False),
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/pagetemplate/pagetemplate.py", line 132, in pt_render
schooltool_1     |     strictinsert=0, sourceAnnotations=sourceAnnotations
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/pagetemplate/pagetemplate.py", line 241, in __call__
schooltool_1     |     interpreter()
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/tal/talinterpreter.py", line 271, in __call__
schooltool_1     |     self.interpret(self.program)
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/tal/talinterpreter.py", line 343, in interpret
schooltool_1     |     handlers[opcode](self, args)
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/tal/talinterpreter.py", line 376, in do_startEndTag
schooltool_1     |     self.do_startTag(stuff, self.endsep, self.endlen)
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/tal/talinterpreter.py", line 405, in do_startTag
schooltool_1     |     rendered = attrAction(self, item)
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/tal/talinterpreter.py", line 482, in attrAction_tal
schooltool_1     |     evalue = self.engine.evaluateText(item[3])
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/tales/tales.py", line 704, in evaluateText
schooltool_1     |     text = self.evaluate(expr)
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/tales/tales.py", line 696, in evaluate
schooltool_1     |     return expression(self)
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/tales/expressions.py", line 217, in __call__
schooltool_1     |     return self._eval(econtext)
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/tales/expressions.py", line 194, in _eval
schooltool_1     |     ob = self._subexprs[-1](econtext)
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/tales/expressions.py", line 124, in _eval
schooltool_1     |     ob = self._traverser(ob, element, econtext)
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/pagetemplate/engine.py", line 66, in __call__
schooltool_1     |     request=request)
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/traversing/adapters.py", line 136, in traversePathElement
schooltool_1     |     return traversable.traverse(nm, further_path)
schooltool_1     |   File "/usr/lib/python2.7/dist-packages/zope/traversing/adapters.py", line 50, in traverse
schooltool_1     |     raise LocationError(subject, name)
schooltool_1     | LocationError: (<zope.browserresource.directory.DirectoryResource object at 0x7fab6dd39a10>, 'custom.css')