def render(self, template_name=None, **kwds): if template_name is None: if not hasattr(self, 'template'): self.template = '%s/%s.htm' % ( self.__module__.replace('.', '/'), lower_name(self.__class__.__name__) ) template_name = self.template current_user = self.current_user kwds['current_user'] = current_user kwds['request'] = self.request kwds['this'] = self kwds['xsrf'] = self.xsrf_form_html() #kwds.update(RENDER_KWDS) mytemplate = MYLOOKUP.get_template(template_name) content = mytemplate.render(**kwds) if not self._finished: self.finish(content)
def __new__(cls, name, bases, attrs): #print "init",name if name == 'Model' : return super(ModelBase, cls).__new__(cls, name, bases, attrs) new_class = type.__new__(cls, name, bases, attrs) if not getattr(new_class, 'Meta', None): class Empty: pass new_class.Meta = Empty if not getattr(new_class.Meta, 'table', None): new_class.Meta.table = lower_name(name) new_class.Meta.table_safe = escape(new_class.Meta.table) # Assume id is the default #if not getattr(new_class.Meta, 'pk', None): new_class.Meta.pk = 'id' # if not getattr(new_class.Meta, 'mc_key', None): # mc_ver = getattr(new_class.Meta, "mc_ver", "") # if mc_ver: # new_class.Meta.mc_key = "%s@%s:%%s"%(name, mc_ver) # else: new_class.Meta.mc_key = '%%s$%s'%name db = new_class.db = db_by_table(new_class.Meta.table) q = db.cursor() q.execute('SELECT * FROM %s LIMIT 0' % new_class.Meta.table_safe) q.connection.commit() new_class._fields = [f[0] for f in q.description] cache.add(new_class) return new_class