~ubuntu-branches/debian/sid/pydoctor/sid

« back to all changes in this revision

Viewing changes to pydoctor/nevowhtml/pages/functionchild.py

  • Committer: Package Import Robot
  • Author(s): Jelmer Vernooij
  • Date: 2013-09-15 13:58:49 UTC
  • mfrom: (1.1.3)
  • Revision ID: package-import@ubuntu.com-20130915135849-g206zbvqwvz0ptdg
Tags: 0.5b1+bzr603-1
* New upstream snapshot.
* Switch from cdbs to dh.
* Bump standards version to 3.9.4 (no changes).
* Update Vcs header.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
 
2
 
from nevow import loaders, page, tags
3
 
 
4
 
from pydoctor import ast_pp
5
 
from pydoctor.nevowhtml import util
6
 
from pydoctor.nevowhtml.pages import signature
7
 
 
8
 
class FunctionChild(page.Element):
9
 
 
10
 
    docFactory = loaders.xmlfile(util.templatefile('function-child.html'))
11
 
 
12
 
    def __init__(self, docgetter, ob, functionExtras):
13
 
        self.docgetter = docgetter
14
 
        self.ob = ob
15
 
        self._functionExtras = functionExtras
16
 
 
17
 
    @page.renderer
18
 
    def functionAnchor(self, request, tag):
19
 
        return self.ob.fullName()
20
 
 
21
 
    @page.renderer
22
 
    def shortFunctionAnchor(self, request, tag):
23
 
        return self.ob.name
24
 
 
25
 
    @page.renderer
26
 
    def decorator(self, request, tag):
27
 
        if self.ob.decorators:
28
 
            decorators = [ast_pp.pp(dec) for dec in self.ob.decorators]
29
 
        else:
30
 
            decorators = []
31
 
 
32
 
        if self.ob.kind == "Class Method" \
33
 
               and 'classmethod' not in decorators:
34
 
            decorators.append('classmethod')
35
 
        elif self.ob.kind == "Static Method" \
36
 
                 and 'staticmethod' not in decorators:
37
 
            decorators.append('staticmethod')
38
 
 
39
 
        if decorators:
40
 
            decorator = [('@' + dec, tags.br()) for dec in decorators]
41
 
        else:
42
 
            decorator = ()
43
 
 
44
 
        return decorator
45
 
 
46
 
    @page.renderer
47
 
    def functionName(self, request, tag):
48
 
        return [self.ob.name, '(', signature(self.ob.argspec), '):']
49
 
 
50
 
    @page.renderer
51
 
    def sourceLink(self, request, tag):
52
 
        if self.ob.sourceHref:
53
 
            return tag.fillSlots('sourceHref', self.ob.sourceHref)
54
 
        else:
55
 
            return ()
56
 
 
57
 
    @page.renderer
58
 
    def functionExtras(self, request, tag):
59
 
        return self._functionExtras
60
 
 
61
 
    @page.renderer
62
 
    def functionBody(self, request, tag):
63
 
        return self.docgetter.get(self.ob)