This file is indexed.

/usr/share/pyshared/Pyste/Exporter.py is in libboost-python1.46-dev 1.46.1-7ubuntu3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# Copyright Bruno da Silva de Oliveira 2003. Use, modification and 
# distribution is subject to the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at 
# http://www.boost.org/LICENSE_1_0.txt)

import os.path

#==============================================================================
# Exporter
#==============================================================================
class Exporter(object):
    'Base class for objects capable to generate boost.python code.'

    INDENT = ' ' * 4
    
    def __init__(self, info, parser_tail=None):
        self.info = info
        self.parser_tail = parser_tail
        self.interface_file = None
        self.declarations = []
    

    def Name(self):
        raise NotImplementedError(self.__class__.__name__)


    def Tail(self):
        return self.parser_tail

        
    def Parse(self, parser):
        self.parser = parser
        header = self.info.include
        tail = self.parser_tail
        declarations, parser_header = parser.parse(header, tail)
        self.parser_header = parser_header
        self.SetDeclarations(declarations)


    def SetParsedHeader(self, parsed_header):
        self.parser_header = parsed_header 


    def SetDeclarations(self, declarations):
        self.declarations = declarations

        
    def GenerateCode(self, codeunit, exported_names):
        self.WriteInclude(codeunit)
        self.Export(codeunit, exported_names)        


    def WriteInclude(self, codeunit):
        codeunit.Write('include', '#include <%s>\n' % self.info.include)
        
        
    def Export(self, codeunit, exported_names):
        'subclasses must override this to do the real work'
        pass
    
                    
    def GetDeclarations(self, fullname):
        decls = []
        for decl in self.declarations:
            if decl.FullName() == fullname:
                decls.append(decl)
        if not decls:
            raise RuntimeError, 'no %s declaration found!' % fullname
        return decls


    def GetDeclaration(self, fullname):
        decls = self.GetDeclarations(fullname)
        #assert len(decls) == 1
        return decls[0]


    def Order(self):
        '''Returns a string that uniquely identifies this instance. All
        exporters will be sorted by Order before being exported.
        '''
        return 0, self.info.name


    def Header(self):
        return self.info.include


    def __eq__(self, other):
        return type(self) is type(other) and self.Name() == other.Name() \
            and self.interface_file == other.interface_file

    def __ne__(self, other):
        return not self == other