This file is indexed.

/usr/lib/python3/dist-packages/pyutilib/component/config/plugin_ConfigParser.py is in python3-pyutilib 5.3.5-1.

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
#  _________________________________________________________________________
#
#  PyUtilib: A Python utility library.
#  Copyright (c) 2008 Sandia Corporation.
#  This software is distributed under the BSD License.
#  Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
#  the U.S. Government retains certain rights in this software.
#  _________________________________________________________________________

"""A parser used by the Configuration class."""

__all__ = ['Configuration_ConfigParser']

import os.path
try:
    import ConfigParser
except ImportError:
    import configparser as ConfigParser
try:
    from ordereddict import OrderedDict
except:
    OrderedDict = dict
from pyutilib.component.config.configuration import *
from pyutilib.component.config.managed_plugin import *

#
# Force the config file option manager to be case sensitive
#
ConfigParser.RawConfigParser.optionxform = str


class Configuration_ConfigParser(ManagedSingletonPlugin):
    """A configuration parser that uses the ConfigParser package."""

    implements(IConfiguration)

    def __init__(self, **kwds):
        kwds['name']='Configuration_ConfigParser'
        ManagedSingletonPlugin.__init__(self,**kwds)

    def load(self, filename):
        """Returns a list of tuples: [ (section,option,value) ]"""
        parser = ConfigParser.ConfigParser()
        if not os.path.exists(filename):
            raise ConfigurationError("File "+filename+" does not exist!")
        parser.read(filename)
        #
        # Collect data
        #
        data = []
        for section in parser.sections():
            for (option,value) in parser.items(section):
                data.append( (section,option,value) )
        return data

    def save(self, filename, config, header=None):
        """Save configuration information to the specified file."""
        if sys.version_info[:2] == (2,6):
            parser = ConfigParser.ConfigParser(dict_type=OrderedDict)
        else:
            parser = ConfigParser.ConfigParser()
        for (section,option,value) in config:
            if not parser.has_section(section):
                parser.add_section(section)
            parser.set(section, option, str(value))
        OUTPUT=open(filename,"w")
        if not header is None:
            for line in header.split("\n"):
                OUTPUT.write("; "+line+'\n')
        parser.write(OUTPUT)
        OUTPUT.close()