from summermvc.decorator import component from summermvc.mvc import ViewResolver, View @component class TestViewResolver(ViewResolver): def get_view(self, view_name, status_code): if view_name == "original": return OrignalView() return TextView() class OrignalView(View): def render(self, model): return model.get_attribute("original") or "" def get_content_type(self): return None class TextView(View): def render(self, model): lines = [] for item in model.as_map().iteritems(): lines.append("%s=%s" % item) return "\n".join(lines) def get_content_type(self): return 'text/plain'