Ejemplo n.º 1
0
 def baseName(self, data):
     r = []
     source_base = data[0]
     r.append(util.taglink(source_base, source_base.name))
     bases_to_mention = data[1:-1]
     if bases_to_mention:
         tail = []
         for b in reversed(bases_to_mention):
             tail.append(util.taglink(b, b.name))
             tail.append(', ')
         del tail[-1]
         r.extend([' (via ', tail, ')'])
     return r
Ejemplo n.º 2
0
 def baseName(self, data):
     r = []
     source_base = data[0]
     r.append(taglink(source_base, source_base.name))
     bases_to_mention = data[1:-1]
     if bases_to_mention:
         tail = []
         for b in reversed(bases_to_mention):
             tail.append(taglink(b, b.name))
             tail.append(', ')
         del tail[-1]
         r.extend([' (via ', tail, ')'])
     return r
Ejemplo n.º 3
0
 def names(self, request, tag):
     name2obs = {}
     for obj in self.initials[self.my_letter]:
         name2obs.setdefault(obj.name, []).append(obj)
     r = []
     for name in sorted(name2obs, key=lambda x:(x.lower(), x)):
         obs = name2obs[name]
         if len(obs) == 1:
             r.append(tag.clone()(name, ' - ', taglink(obs[0])))
         else:
             ul = tags.ul()
             for ob in sorted(obs, key=_lckey):
                 ul(tags.li(taglink(ob)))
             r.append(tag.clone()(name, ul))
     return r
Ejemplo n.º 4
0
 def names(self, request, tag):
     name2obs = {}
     for obj in self.initials[self.my_letter]:
         name2obs.setdefault(obj.name, []).append(obj)
     r = []
     for name in sorted(name2obs, key=lambda x: (x.lower(), x)):
         obs = name2obs[name]
         if len(obs) == 1:
             r.append(tag.clone()(name, ' - ', util.taglink(obs[0])))
         else:
             ul = tags.ul()
             for ob in sorted(obs, key=_lckey):
                 ul(tags.li(util.taglink(ob)))
             r.append(tag.clone()(name, ul))
     return r
Ejemplo n.º 5
0
 def part(self):
     if self.ob.parent:
         parent = self.ob.parent
         if isinstance(parent, model.Module) and parent.name == '__init__':
             parent = parent.parent
         parts = []
         while parent.parent:
             parts.append(taglink(parent, parent.name))
             parts.append('.')
             parent = parent.parent
         parts.append(taglink(parent, parent.name))
         parts.reverse()
         return 'Part of ', parts
     else:
         return []
Ejemplo n.º 6
0
 def part(self):
     if self.ob.parent:
         parent = self.ob.parent
         if isinstance(parent, model.Module) and parent.name == "__init__":
             parent = parent.parent
         parts = []
         while parent.parent:
             parts.append(taglink(parent, parent.name))
             parts.append(".")
             parent = parent.parent
         parts.append(taglink(parent, parent.name))
         parts.reverse()
         return "Part of ", tags.code(parts)
     else:
         return []
Ejemplo n.º 7
0
 def part(self):
     if self.ob.parent:
         parent = self.ob.parent
         if isinstance(parent, model.Module) and parent.name == '__init__':
             parent = parent.parent
         parts = []
         while parent.parent:
             parts.append(util.taglink(parent, parent.name))
             parts.append('.')
             parent = parent.parent
         parts.append(util.taglink(parent, parent.name))
         parts.reverse()
         return 'Part of ', tags.code(parts)
     else:
         return []
Ejemplo n.º 8
0
 def onlyIfOneRoot(self, request, tag):
     if len(self.system.rootobjects) != 1:
         return []
     else:
         root, = self.system.rootobjects
         return tag.clear()("Start at ", util.taglink(root), ", the root ",
                            root.kind.lower(), ".")
Ejemplo n.º 9
0
 def functionExtras(self, data):
     imeth = self.interfaceMeth(data.name)
     r = []
     if imeth:
         r.append(tags.div(class_="interfaceinfo")('from ', util.taglink(imeth, imeth.parent.fullName())))
     r.extend(super(ZopeInterfaceClassPage, self).functionExtras(data))
     return r
Ejemplo n.º 10
0
 def stuff(self, request, tag):
     undoccedpublic = [o for o in self.system.orderedallobjects
                       if o.isVisible and not hasdocstring(o)]
     undoccedpublic.sort(key=lambda o:o.fullName())
     for o in undoccedpublic:
         tag(tags.li(o.kind, " - ", util.taglink(o)))
     return tag
Ejemplo n.º 11
0
 def stuff(self, request, tag):
     undoccedpublic = [o for o in self.system.orderedallobjects
                       if o.isVisible and not hasdocstring(o)]
     undoccedpublic.sort(key=lambda o:o.fullName())
     for o in undoccedpublic:
         tag(tags.li(o.kind, " - ", taglink(o)))
     return tag
Ejemplo n.º 12
0
 def functionExtras(self, data):
     imeth = self.interfaceMeth(data.name)
     r = []
     if imeth:
         r.append(tags.div(class_="interfaceinfo")('from ', taglink(imeth, imeth.parent.fullName())))
     r.extend(super(ZopeInterfaceClassPage, self).functionExtras(data))
     return r
Ejemplo n.º 13
0
 def onlyIfOneRoot(self, request, tag):
     if len(self.system.rootobjects) != 1:
         return []
     else:
         root, = self.system.rootobjects
         return tag.clear()(
             "Start at ", taglink(root),
             ", the root ", root.kind.lower(), ".")
Ejemplo n.º 14
0
 def changes(self, request, tag):
     r = []
     for d in reversed(self.root._edits):
         r.append(
             tag.clone().fillSlots(
                 diff=self.diff(d, request),
                 hist=self.hist(d, request),
                 object=util.taglink(d.obj),
                 time=d.time,
                 user=d.user))
     return r
Ejemplo n.º 15
0
 def namespace(self, obj: model.Documentable) -> List[Union[Tag, str]]:
     parts: List[Union[Tag, str]] = []
     ob: Optional[model.Documentable] = obj
     while ob:
         if ob.documentation_location is model.DocLocation.OWN_PAGE:
             if parts:
                 parts.append('.')
             parts.append(util.taglink(ob, ob.name))
         ob = ob.parent
     parts.reverse()
     return parts
Ejemplo n.º 16
0
def moduleSummary(modorpack):
    r = tags.li(util.taglink(modorpack), ' - ', epydoc2stan.doc2stan(modorpack, summary=True)[0])
    if not isinstance(modorpack, model.Package):
        return r
    contents = [m for m in modorpack.orderedcontents
                if m.isVisible and m.name != '__init__']
    if not contents:
        return r
    ul = tags.ul()
    for m in sorted(contents, key=lambda m:m.fullName()):
        ul(moduleSummary(m))
    return r(ul)
Ejemplo n.º 17
0
def moduleSummary(modorpack):
    r = tags.li(taglink(modorpack), ' - ', epydoc2stan.doc2stan(modorpack, summary=True)[0])
    if not isinstance(modorpack, model.Package):
        return r
    contents = [m for m in modorpack.orderedcontents
                if m.isVisible and m.name != '__init__']
    if not contents:
        return r
    ul = tags.ul()
    for m in sorted(contents, key=lambda m:m.fullName()):
        ul(moduleSummary(m))
    return r(ul)
Ejemplo n.º 18
0
 def names(self, request, tag):
     name2obs = {}
     for obj in self.initials[self.my_letter]:
         name2obs.setdefault(obj.name, []).append(obj)
     r = []
     for name in sorted(name2obs, key=lambda x: (x.lower(), x)):
         item = tag.clone()(name)
         obs = name2obs[name]
         if all(isPrivate(ob) for ob in obs):
             item(class_='private')
         if len(obs) == 1:
             item(' - ', util.taglink(obs[0]))
         else:
             ul = tags.ul()
             for ob in sorted(obs, key=_lckey):
                 subitem = tags.li(util.taglink(ob))
                 if isPrivate(ob):
                     subitem(class_='private')
                 ul(subitem)
             item(ul)
         r.append(item)
     return r
Ejemplo n.º 19
0
 def mediumName(self, ob):
     r = [super(ClassPage, self).mediumName(ob)]
     zipped = zip(self.ob.rawbases, self.ob.bases, self.ob.baseobjects)
     if zipped:
         r.append('(')
         for i, (n, m, o) in enumerate(zipped):
             if o is None:
                 r.append(tags.span(title=m)(n))
             else:
                 r.append(util.taglink(o, n))
             if i != len(zipped) - 1:
                 r.append(', ')
         r.append(')')
     return r
Ejemplo n.º 20
0
 def mediumName(self, ob):
     r = [super(ClassPage, self).mediumName(ob)]
     zipped = zip(self.ob.rawbases, self.ob.bases, self.ob.baseobjects)
     if zipped:
         r.append('(')
         for i, (n, m, o) in enumerate(zipped):
             if o is None:
                 r.append(tags.span(title=m)(n))
             else:
                 r.append(taglink(o, n))
             if i != len(zipped)-1:
                 r.append(', ')
         r.append(')')
     return r
Ejemplo n.º 21
0
def subclassesFrom(hostsystem, cls, anchors):
    r = tags.li()
    name = cls.fullName()
    if name not in anchors:
        r(tags.a(name=name))
        anchors.add(name)
    r(taglink(cls), ' - ', epydoc2stan.doc2stan(cls, summary=True)[0])
    scs = [sc for sc in cls.subclasses if sc.system is hostsystem and ' ' not in sc.fullName()
           and sc.isVisible]
    if len(scs) > 0:
        ul = tags.ul()
        for sc in sorted(scs, key=_lckey):
            ul(subclassesFrom(hostsystem, sc, anchors))
        r(ul)
    return r
Ejemplo n.º 22
0
def subclassesFrom(hostsystem, cls, anchors):
    r = tags.li()
    name = cls.fullName()
    if name not in anchors:
        r(tags.a(name=name))
        anchors.add(name)
    r(util.taglink(cls), ' - ', epydoc2stan.doc2stan(cls, summary=True)[0])
    scs = [sc for sc in cls.subclasses if sc.system is hostsystem and ' ' not in sc.fullName()
           and sc.isVisible]
    if len(scs) > 0:
        ul = tags.ul()
        for sc in sorted(scs, key=_lckey):
            ul(subclassesFrom(hostsystem, sc, anchors))
        r(ul)
    return r
Ejemplo n.º 23
0
 def functionExtras(self, data):
     r = []
     for b in self.ob.allbases(include_self=False):
         if data.name not in b.contents:
             continue
         overridden = b.contents[data.name]
         r.append(tags.div(class_="interfaceinfo")("overrides ", taglink(overridden)))
         break
     ocs = sorted(overriding_subclasses(self.ob, data.name), key=lambda o: o.fullName().lower())
     if ocs:
         self.overridenInCount += 1
         idbase = "overridenIn" + str(self.overridenInCount)
         l = assembleList(self.ob.system, "overridden in ", [o.fullName() for o in ocs], idbase)
         if l is not None:
             r.append(tags.div(class_="interfaceinfo")(l))
     return r
Ejemplo n.º 24
0
 def functionExtras(self, data):
     r = []
     for b in self.ob.allbases(include_self=False):
         if data.name not in b.contents:
             continue
         overridden = b.contents[data.name]
         r.append(tags.div(class_="interfaceinfo")('overrides ', util.taglink(overridden)))
         break
     ocs = sorted(overriding_subclasses(self.ob, data.name), key=lambda o:o.fullName().lower())
     if ocs:
         self.overridenInCount += 1
         idbase = 'overridenIn' + str(self.overridenInCount)
         l = assembleList(self.ob.system, 'overridden in ',
                          [o.fullName() for o in ocs], idbase)
         if l is not None:
             r.append(tags.div(class_="interfaceinfo")(l))
     return r
Ejemplo n.º 25
0
def moduleSummary(modorpack):
    r = tags.li(util.taglink(modorpack), ' - ',
                epydoc2stan.format_summary(modorpack))
    if modorpack.isPrivate:
        r(class_='private')
    if not isinstance(modorpack, model.Package):
        return r
    contents = [
        m for m in modorpack.contents.values()
        if m.isVisible and m.name != '__init__'
    ]
    if not contents:
        return r
    ul = tags.ul()
    for m in sorted(contents, key=lambda m: m.fullName()):
        ul(moduleSummary(m))
    return r(ul)
Ejemplo n.º 26
0
 def roots(self, request, tag):
     r = []
     for o in self.system.rootobjects:
         r.append(tag.clone().fillSlots(root=taglink(o)))
     return r
Ejemplo n.º 27
0
 def one(item):
     if item in system.allobjects:
         return util.taglink(system.allobjects[item])
     else:
         return item
Ejemplo n.º 28
0
 def name(self, request, tag):
     return tag.clear()(util.taglink(self.child, self.child.name))
Ejemplo n.º 29
0
 def tl(s):
     if s in system.allobjects:
         return taglink(system.allobjects[s])
     else:
         return s
Ejemplo n.º 30
0
 def name(self, request, tag):
     return tag.clear()(util.taglink(self.child, self.child.name))
Ejemplo n.º 31
0
 def one(item):
     if item in system.allobjects:
         return taglink(system.allobjects[item])
     else:
         return item
Ejemplo n.º 32
0
 def problemObjects(self, request, tag):
     r = []
     for fn in sorted(self.system.epytextproblems):
         o = self.system.allobjects[fn]
         r.append(tag.clone().fillSlots(link=util.taglink(o)))
     return r
Ejemplo n.º 33
0
 def linkback(self, request, tag):
     return util.taglink(self.ob, label="Back")
Ejemplo n.º 34
0
 def roots(self, request, tag):
     r = []
     for o in self.system.rootobjects:
         r.append(tag.clone().fillSlots(root=util.taglink(o)))
     return r
Ejemplo n.º 35
0
 def tl(s):
     if s in system.allobjects:
         return taglink(system.allobjects[s])
     else:
         return s