Exemplo n.º 1
0
 def baseName(self, data):
     tag = tags.invisible()
     source_base = data[0]
     tag[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]
         tag[' (via ', tail, ')']
     return tag
Exemplo n.º 2
0
 def baseName(self, data):
     tag = tags.invisible()
     source_base = data[0]
     tag[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]
         tag[' (via ', tail, ')']
     return tag
Exemplo n.º 3
0
 def part(self):
     tag = tags.invisible()
     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 tag['Part of ', parts]
     else:
         return tag
Exemplo n.º 4
0
 def render_problemObjects(self, context, data):
     t = context.tag
     pat = t.patternGenerator('object')
     for fn in sorted(self.system.epytextproblems):
         o = self.system.allobjects[fn]
         t[pat.fillSlots('link', util.taglink(o))]
     return t
Exemplo n.º 5
0
 def render_problemObjects(self, context, data):
     t = context.tag
     pat = t.patternGenerator('object')
     for fn in sorted(self.system.epytextproblems):
         o = self.system.allobjects[fn]
         t[pat.fillSlots('link', util.taglink(o))]
     return t
Exemplo n.º 6
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
Exemplo n.º 7
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
Exemplo n.º 8
0
 def part(self):
     tag = tags.invisible()
     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 tag['Part of ', parts]
     else:
         return tag
Exemplo n.º 9
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(), "."]
Exemplo n.º 10
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(), "."]
Exemplo n.º 11
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
Exemplo n.º 12
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
Exemplo n.º 13
0
 def changes(self, request, tag):
     item = tag.patternGenerator('item')
     for d in reversed(self.root._edits):
         tag[util.fillSlots(item,
                            diff=self.diff(d),
                            hist=self.hist(d),
                            object=util.taglink(d.obj),
                            time=d.time,
                            user=d.user)]
     return tag
Exemplo n.º 14
0
 def changes(self, request, tag):
     item = tag.patternGenerator('item')
     for d in reversed(self.root._edits):
         tag[util.fillSlots(item,
                            diff=self.diff(d),
                            hist=self.hist(d),
                            object=util.taglink(d.obj),
                            time=d.time,
                            user=d.user)]
     return tag
Exemplo n.º 15
0
    def index(self, request, tag):
        letter = tag.patternGenerator('letter')
        singleName = tag.patternGenerator('singleName')
        manyNames = tag.patternGenerator('manyNames')
        initials = {}
        for ob in self.system.orderedallobjects:
            if ob.isVisible:
                initials.setdefault(ob.name[0].upper(), []).append(ob)
        for initial in sorted(initials):
            letterlinks = []
            for initial2 in sorted(initials):
                if initial == initial2:
                    letterlinks.append(initial2)
                else:
                    letterlinks.append(tags.a(href='#' + initial2)[initial2])
                letterlinks.append(' - ')
            if letterlinks:
                del letterlinks[-1]
            name2obs = {}
            for obj in initials[initial]:
                name2obs.setdefault(obj.name, []).append(obj)
            lettercontents = []
            for name in sorted(name2obs, key=lambda x: x.lower()):
                obs = sorted(name2obs[name],
                             key=lambda x: x.fullName().lower())
                if len(obs) == 1:
                    ob, = obs
                    lettercontents.append(
                        fillSlots(singleName, name=ob.name, link=taglink(ob)))
                else:
                    lettercontents.append(
                        fillSlots(
                            manyNames,
                            name=obs[0].name,
                            manyNames=[tags.li[taglink(ob)] for ob in obs]))

            tag[fillSlots(letter,
                          letter=initial,
                          letterlinks=letterlinks,
                          lettercontents=lettercontents)]
        return tag
Exemplo n.º 16
0
def moduleSummary(modorpack):
    r = tags.li[taglink(modorpack), ' - ', epydoc2stan.doc2html(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]
Exemplo n.º 17
0
    def index(self, request, tag):
        letter = tag.patternGenerator('letter')
        singleName = tag.patternGenerator('singleName')
        manyNames = tag.patternGenerator('manyNames')
        initials = {}
        for ob in self.system.orderedallobjects:
            if ob.isVisible:
                initials.setdefault(ob.name[0].upper(), []).append(ob)
        for initial in sorted(initials):
            letterlinks = []
            for initial2 in sorted(initials):
                if initial == initial2:
                    letterlinks.append(initial2)
                else:
                    letterlinks.append(tags.a(href='#'+initial2)[initial2])
                letterlinks.append(' - ')
            if letterlinks:
                del letterlinks[-1]
            name2obs = {}
            for obj in initials[initial]:
                name2obs.setdefault(obj.name, []).append(obj)
            lettercontents = []
            for name in sorted(name2obs, key=lambda x:x.lower()):
                obs = sorted(name2obs[name], key=lambda x:x.fullName().lower())
                if len(obs) == 1:
                    ob, = obs
                    lettercontents.append(fillSlots(singleName,
                                                    name=ob.name,
                                                    link=taglink(ob)))
                else:
                    lettercontents.append(fillSlots(manyNames,
                                                    name=obs[0].name,
                                                    manyNames=[tags.li[taglink(ob)] for ob in obs]))

            tag[fillSlots(letter,
                          letter=initial,
                          letterlinks=letterlinks,
                          lettercontents=lettercontents)]
        return tag
Exemplo n.º 18
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
Exemplo 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(taglink(o, n))
             if i != len(zipped)-1:
                 r.append(', ')
         r.append(')')
     return r
Exemplo n.º 20
0
def moduleSummary(modorpack):
    r = tags.li[taglink(modorpack), ' - ',
                epydoc2stan.doc2html(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]
Exemplo 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.doc2html(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
Exemplo 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[taglink(cls), ' - ', epydoc2stan.doc2html(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
Exemplo n.º 23
0
 def functionExtras(self, data):
     r = []
     for b in self.ob.allbases():
         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 = maybeShortenList(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
Exemplo n.º 24
0
 def functionExtras(self, data):
     r = []
     for b in self.ob.allbases():
         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 = maybeShortenList(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
Exemplo n.º 25
0
 def one(item):
     if item in system.allobjects:
         return taglink(system.allobjects[item])
     else:
         return item
Exemplo n.º 26
0
 def render_linkback(self, context, data):
     return util.taglink(self.ob, label="Back")
Exemplo n.º 27
0
 def roots(self, request, tag):
     item = tag.patternGenerator("item")
     r = []
     for o in self.system.rootobjects:
         r.append(fillSlots(item, root=taglink(o)))
     return tag[r]
Exemplo n.º 28
0
 def name(self, request, tag):
     return tag.clear()[util.taglink(self.child, self.child.name)]
Exemplo n.º 29
0
 def one(item):
     if item in system.allobjects:
         return taglink(system.allobjects[item])
     else:
         return item
Exemplo n.º 30
0
 def tl(s):
     if s in system.allobjects:
         return taglink(system.allobjects[s])
     else:
         return s
Exemplo n.º 31
0
 def tl(s):
     if s in system.allobjects:
         return taglink(system.allobjects[s])
     else:
         return s
Exemplo n.º 32
0
 def roots(self, request, tag):
     item = tag.patternGenerator("item")
     r = []
     for o in self.system.rootobjects:
         r.append(fillSlots(item, root=taglink(o)))
     return tag[r]
Exemplo n.º 33
0
 def render_linkback(self, context, data):
     return util.taglink(self.ob, label="Back")