예제 #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
예제 #2
0
파일: __init__.py 프로젝트: chevah/pydoctor
 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
예제 #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
예제 #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
예제 #5
0
파일: __init__.py 프로젝트: chevah/pydoctor
 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 []
예제 #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 []
예제 #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 []
예제 #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(), ".")
예제 #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
예제 #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
예제 #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
예제 #12
0
파일: __init__.py 프로젝트: chevah/pydoctor
 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
예제 #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(), ".")
예제 #14
0
파일: server.py 프로젝트: lamby/pydoctor
 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
예제 #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
예제 #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)
예제 #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)
예제 #18
0
파일: summary.py 프로젝트: Kalebu/pydoctor
 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
예제 #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
예제 #20
0
파일: __init__.py 프로젝트: chevah/pydoctor
 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
예제 #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
예제 #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
예제 #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
예제 #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
예제 #25
0
파일: summary.py 프로젝트: Kalebu/pydoctor
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)
예제 #26
0
 def roots(self, request, tag):
     r = []
     for o in self.system.rootobjects:
         r.append(tag.clone().fillSlots(root=taglink(o)))
     return r
예제 #27
0
 def one(item):
     if item in system.allobjects:
         return util.taglink(system.allobjects[item])
     else:
         return item
예제 #28
0
 def name(self, request, tag):
     return tag.clear()(util.taglink(self.child, self.child.name))
예제 #29
0
파일: __init__.py 프로젝트: lamby/pydoctor
 def tl(s):
     if s in system.allobjects:
         return taglink(system.allobjects[s])
     else:
         return s
예제 #30
0
파일: table.py 프로젝트: chevah/pydoctor
 def name(self, request, tag):
     return tag.clear()(util.taglink(self.child, self.child.name))
예제 #31
0
파일: __init__.py 프로젝트: chevah/pydoctor
 def one(item):
     if item in system.allobjects:
         return taglink(system.allobjects[item])
     else:
         return item
예제 #32
0
파일: server.py 프로젝트: lamby/pydoctor
 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
예제 #33
0
파일: server.py 프로젝트: lamby/pydoctor
 def linkback(self, request, tag):
     return util.taglink(self.ob, label="Back")
예제 #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
예제 #35
0
파일: __init__.py 프로젝트: chevah/pydoctor
 def tl(s):
     if s in system.allobjects:
         return taglink(system.allobjects[s])
     else:
         return s