예제 #1
0
파일: core.py 프로젝트: dudubs876/proj_webx
 def switch_form(self, form_cls):
     errors, values = form_cls.validate(self)
     with switch(self, errors=errors, form_cls=form_cls):
         with switch(self.values, **values):
             if not errors:
                 with switch(self, form=form_cls(values)):
                     yield
             else:
                 yield
예제 #2
0
    def default(self, req):
        req.steps.append(self)
        prefix = '/' + req.suffix.lstrip('/')
        for url, handler in self.handlers:
            url_params = url.match(prefix)
            if url_params is not None:
                with switch(req, **url_params):
                    with switch(req.url_params, **url_params):
                        return handler(req)

        if prefix == '/':
            return self.wrapper(self.index, req)

        return super(Section, self).default(req)
예제 #3
0
파일: core.py 프로젝트: dudubs876/proj_webx
def pyml_response(req, func, *args, **kwargs):
    maker = PymlMaker()
    with switch(
        maker, req=req, lang=req.lang, data=req.data, defaults=req.defaults, errors=req.errors, values=req.values
    ):
        func(maker, *args, **kwargs)
    return html_response(HTML5Result(maker, pretty=True).raw)
예제 #4
0
def form_maker(cls, fx):
    with fx.div.sGroup:
        for name, field in cls.sorted_fields:
            with switch(fx, param=fx.param + '.' + name if fx.param else name):
                name = fx.lang[field.lang or fx.param]
                if issubclass(field.type, Form):
                    fx.div.sTitle(name)
                    with fx.div.sContainer:
                        form_makers(field.type, fx)
                else:
                    with fx.div.sMember:
                        fx.label.sName << name
                        with fx.div.sValue:
                            with fx.div.sInput:
                                form_makers(field.type, fx)
                            fx.error_field()
예제 #5
0
파일: db.py 프로젝트: dudubs876/proj_webx
 def handler(self, req):
     with switch(req, defaults=self.data_defaults(req)):
         return super(FormData, self).handler(req)
예제 #6
0
파일: db.py 프로젝트: dudubs876/proj_webx
 def handler(self, req):
     doc = self.edit_document(req)
     assert doc is not None
     with switch(req.data, doc=doc):
         return super(EditData, self).handler(req)
예제 #7
0
 def __call__(self, req, **kwargs):
     if self.handler is not None:
         with switch(req, url_params=kwargs, **kwargs):
             return self.handler(req)