def get_rst(self): #~ from actordoc import get_actor_description #~ from django.conf import settings #~ from djangosite.dbutils import set_language with translation.override(self.language): level, cls = resolve_name(self.content[0]) if isinstance(cls, models.Field): fld = cls s = '' name = str(fld.model) + '.' + fld.name title = force_unicode(fld.verbose_name).strip() s += "\n.. index::\n single: " s += unicode( _('%(field)s (field in %(model)s)') % dict(field=title, model=model_ref(fld.model))) s += '\n\n' s += rstgen.header(level, _("%s (field)") % title) if len(self.content) > 1: s += '\n'.join(self.content[1:]) s += '\n\n' return s if isinstance(cls, Plugin): s = '' title = unicode(cls.verbose_name) s += "\n.. index::\n single: " s += unicode(_('%s (app)') % title) s += '\n\n.. _' + name + ':\n' s += '\n' s += rstgen.header(level, _("%s (app)") % title) return s if not isinstance(cls, type): raise Exception("%s is not an actor." % self.content[0]) if issubclass(cls, models.Model): model = cls s = '' name = model_name(model).lower() title = force_unicode(model._meta.verbose_name) s += "\n.. index::\n single: " s += unicode( _('%(model)s (model in %(app)s)') % dict(model=title, app=model._meta.app_label)) s += '\n\n' s += '\n\n.. _' + name + ':\n' s += '\n' s += rstgen.header(level, _("%s (model)") % title) s += '\n' s += '\n:Internal name: ``%s``\n' % full_model_name(cls) s += '\n:Implemented by: %s\n' % typeref(cls) s += '\n' if len(self.content) > 1: s += '\n'.join(self.content[1:]) s += '\n\n' model_reports = [ r for r in dbtables.master_reports if r.model is cls ] model_reports += [ r for r in dbtables.slave_reports if r.model is cls ] s += rstgen.boldheader( _("Views on %s") % cls._meta.verbose_name) s += actors_overview_ul(model_reports) s += rstgen.boldheader( _("Fields in %s") % cls._meta.verbose_name) s += fields_ul(cls._meta.fields) action_list = cls.get_default_table().get_actions() action_list = [ ba for ba in action_list if not isinstance(ba.action, IGNORED_ACTIONS) ] if action_list: s += '\n' s += rstgen.boldheader( _("Actions on %s") % cls._meta.verbose_name) s += actions_ul(action_list) slave_tables = getattr(cls, '_lino_slaves', {}).values() if slave_tables: s += rstgen.boldheader( _("Tables referring to %s") % cls._meta.verbose_name) s += actors_overview_ul(slave_tables) return s if issubclass(cls, actors.Actor): title = force_unicode(cls.label or cls.title) indextext = _('%(actor)s (view in %(app)s)') % dict( actor=title, app=cls.app_label) name = actor_name(cls) #~ if name == 'welfare.reception.waitingvisitors': #~ self.debug = True #~ print(20130907, name) self.index_entries.append(('single', indextext, name, '')) #~ self.add_ref_target(name,name) s = '' s += '\n\n.. _%s:\n\n' % name s += rstgen.header(level, _("%s (view)") % title) s += '\n:Internal name: ``%s`` (%s)\n' % (cls, typeref(cls)) if len(self.content) > 1: s += '\n'.join(self.content[1:]) s += '\n\n' s += '\n\n' s += get_actor_description(cls) s += '\n\n' return s raise Exception("Cannot handle actor %r." % cls)
def get_rst(self): #~ from actordoc import get_actor_description #~ from django.conf import settings #~ from djangosite.dbutils import set_language with translation.override(self.language): level, cls = resolve_name(self.content[0]) if isinstance(cls, models.Field): fld = cls s = '' name = str(fld.model) + '.' + fld.name title = force_text(fld.verbose_name).strip() s += "\n.. index::\n single: " s += str(_('%(field)s (field in %(model)s)') % dict( field=title, model=model_ref(fld.model))) s += '\n\n' s += rstgen.header(level, _("%s (field)") % title) if len(self.content) > 1: s += '\n'.join(self.content[1:]) s += '\n\n' return s if isinstance(cls, Plugin): s = '' title = str(cls.verbose_name) s += "\n.. index::\n single: " s += str(_('%s (app)') % title) s += '\n\n.. _' + name + ':\n' s += '\n' s += rstgen.header(level, _("%s (app)") % title) return s if not isinstance(cls, type): raise Exception("%s is not an actor." % self.content[0]) if issubclass(cls, models.Model): model = cls s = '' name = model_name(model).lower() title = force_text(model._meta.verbose_name) s += "\n.. index::\n single: " s += str(_('%(model)s (model in %(app)s)') % dict( model=title, app=model._meta.app_label)) s += '\n\n' s += '\n\n.. _' + name + ':\n' s += '\n' s += rstgen.header(level, _("%s (model)") % title) s += '\n' s += '\n:Internal name: ``%s``\n' % full_model_name(cls) s += '\n:Implemented by: %s\n' % typeref(cls) s += '\n' if len(self.content) > 1: s += '\n'.join(self.content[1:]) s += '\n\n' model_reports = [ r for r in kernel.master_tables if r.model is cls] model_reports += [r for r in kernel.slave_tables if r.model is cls] s += rstgen.boldheader(_("Views on %s") % cls._meta.verbose_name) s += actors_overview_ul(model_reports) s += rstgen.boldheader(_("Fields in %s") % cls._meta.verbose_name) s += fields_ul(cls._meta.fields) action_list = cls.get_default_table().get_actions() action_list = [ ba for ba in action_list if not isinstance(ba.action, IGNORED_ACTIONS)] if action_list: s += '\n' s += rstgen.boldheader(_("Actions on %s") % cls._meta.verbose_name) s += actions_ul(action_list) slave_tables = getattr(cls, '_lino_slaves', {}).values() if slave_tables: s += rstgen.boldheader(_("Tables referring to %s") % cls._meta.verbose_name) s += actors_overview_ul(slave_tables) return s if issubclass(cls, actors.Actor): title = force_text(cls.label or cls.title) indextext = _('%(actor)s (view in %(app)s)') % dict( actor=title, app=cls.app_label) name = actor_name(cls) #~ if name == 'welfare.reception.waitingvisitors': #~ self.debug = True #~ print(20130907, name) self.index_entries.append(('single', indextext, name, '')) #~ self.add_ref_target(name,name) s = '' s += '\n\n.. _%s:\n\n' % name s += rstgen.header(level, _("%s (view)") % title) s += '\n:Internal name: ``%s`` (%s)\n' % (cls, typeref(cls)) if len(self.content) > 1: s += '\n'.join(self.content[1:]) s += '\n\n' s += '\n\n' s += get_actor_description(cls) s += '\n\n' return s raise Exception("Cannot handle actor %r." % cls)
def get_rst(self): #~ from actordoc import get_actor_description #~ from django.conf import settings #~ from djangosite.dbutils import set_language with translation.override(self.state.document.settings.env.config.language): #~ lng = self.state.document.settings.env.config.language #~ set_language(lng) level, cls = resolve_name(self.content[0]) if isinstance(cls,models.Field): fld = cls s = '' name = str(fld.model)+'.'+fld.name title = force_unicode(fld.verbose_name).strip() s += "\n.. index::\n single: " s += unicode(_('%s (field in "%s")') % (title,fld.model)) s += '\n\n' s += rstgen.header(level,_("The **%s** field") % title) if len(self.content) > 1: s += '\n'.join(self.content[1:]) s += '\n\n' return s if isinstance(cls,dd.__class__): # it's a module (an app) s = '' name = app_name(cls) app = getattr(cls,'App',None) if app is None: title = name else: title = unicode(app.verbose_name) s += "\n.. index::\n single: " s += unicode(_('%s (app)') % title) s += '\n\n.. _'+ name + ':\n' s += '\n' s += rstgen.header(level,_("The %s app") % title) return s if not isinstance(cls,type): raise Exception("%s is not an actor." % self.content[0]) if issubclass(cls,models.Model): model = cls #~ if full_model_name(cls) == 'newcomers.Broker': #~ self.debug = True #~ self.add_model_index_entry(cls) s = '' name = model_name(model).lower() title = force_unicode(model._meta.verbose_name) s += "\n.. index::\n single: " s += unicode(_('%s (model in app "%s")') % (title,model._meta.app_label)) s += '\n\n' #~ title = unicode(cls._meta.verbose_name) #~ indextext = _('%s (%s)') % (full_model_name(cls),title) #~ name = model_name(cls) #~ self.index_entries.append(('single', indextext, name, '')) #~ self.add_ref_target(name,name) s += '\n\n.. _'+ name + ':\n' s += '\n' s += rstgen.header(level,_("The %s model") % title) #~ print(s) #~ s += rstgen.header(3,_('%s (%s)') % (title,full_model_name(cls))) s += '\n' s += '\n:Internal name: ``%s``\n' % full_model_name(cls) s += '\n:Implemented by: %s\n' % typeref(cls) s += '\n' if len(self.content) > 1: s += '\n'.join(self.content[1:]) s += '\n\n' model_reports = [r for r in dbtables.master_reports if r.model is cls] model_reports += [r for r in dbtables.slave_reports if r.model is cls] #~ s += rstgen.boldheader(_("Tables on a %s") % cls._meta.verbose_name) s += rstgen.boldheader(_("Views on %s") % cls._meta.verbose_name) s += actors_overview_ul(model_reports) s += rstgen.boldheader(_("Fields in %s") % cls._meta.verbose_name) s += fields_ul(cls._meta.fields) action_list = cls._lino_default_table.get_actions() #~ action_list = [ba for ba in action_list if ba.action.sort_index >= 30] action_list = [ba for ba in action_list if not isinstance(ba.action,IGNORED_ACTIONS)] if action_list: s += '\n' s += rstgen.boldheader(_("Actions on %s") % cls._meta.verbose_name) s += actions_ul(action_list) slave_tables = getattr(cls,'_lino_slaves',{}).values() if slave_tables: s += rstgen.boldheader(_("Tables referring to %s") % cls._meta.verbose_name) #~ for tb in slave_tables: #~ s += '\n.. _'+ settings.SITE.userdocs_prefix + str(tb) + ':\n' #~ s += '\n' #~ s += rstgen.header(4,_("Slave tables of %s") % cls._meta.verbose_name) #~ s += "\n\n**%s**\n\n" % _("Tables referring to %s") % cls._meta.verbose_name s += actors_overview_ul(slave_tables) #~ if model_reports: #~ s += '\nMaster tables: %s\n' % rptlist(model_reports) #~ if slave_tables: #~ s += '\nSlave tables: %s\n' % rptlist(slave_tables) return s if issubclass(cls,actors.Actor): title = force_unicode(cls.label or cls.title) indextext = _('%s (table in module %s)') % (title,cls.app_label) name = actor_name(cls) #~ if name == 'welfare.reception.waitingvisitors': #~ self.debug = True #~ print(20130907, name) self.index_entries.append(('single', indextext, name, '')) #~ self.add_ref_target(name,name) s = '' s += '\n\n.. _%s:\n\n' % name s += rstgen.header(level,_("The %s view") % title) s += '\n:Internal name: ``%s`` (%s)\n' % (cls,typeref(cls)) if len(self.content) > 1: s += '\n'.join(self.content[1:]) s += '\n\n' s += '\n\n' s += get_actor_description(cls) s += '\n\n' return s raise Exception("Cannot handle actor %r." % cls)