This file is indexed.

/usr/share/pyshared/traits/trait_errors.py is in python-traits 4.1.0-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
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#------------------------------------------------------------------------------
#
#  Copyright (c) 2005, Enthought, Inc.
#  All rights reserved.
#
#  This software is provided without warranty under the terms of the BSD
#  license included in enthought/LICENSE.txt and may be redistributed only
#  under the conditions described in the aforementioned license.  The license
#  is also available online at http://www.enthought.com/licenses/BSD.txt
#
#  Thanks for using Enthought open source!
#
#  Author: David C. Morrill
#  Date:   06/21/2002
#
#------------------------------------------------------------------------------

""" Defines the standard exceptions raised by the Traits package.
"""

#-------------------------------------------------------------------------------
#  Imports:
#-------------------------------------------------------------------------------

from __future__ import absolute_import

import exceptions

from types import InstanceType

from .trait_base import class_of


#-------------------------------------------------------------------------------
#  Utilities
#-------------------------------------------------------------------------------

def repr_type(obj):
    """ Return a string representation of a value and its type for readable
    error messages.
    """
    the_type = type(obj)
    if the_type is InstanceType:
        # Old-style class.
        the_type = obj.__class__
    msg = '%r %r' % (obj, the_type)
    return msg

#-------------------------------------------------------------------------------
#  'TraitError' class:
#-------------------------------------------------------------------------------

class TraitError ( exceptions.Exception ):

    def __init__ ( self, args = None, name = None, info = None, value = None ):
        if name is None:
           # If the given args is not a tuple then assume that the user intended
           # it to be the single item in a one-element tuple.
           if not isinstance(args, tuple):
               args = args,
           self.args = args
        else:
           # Save the information, in case the 'args' object is not the correct
           # one, and we need to regenerate the message later:
           self.name   = name
           self.info   = info
           self.value  = value
           self.desc   = None
           self.prefix = 'The'
           self.set_desc( None, args )

    def set_desc ( self, desc, object = None ):
        if hasattr( self, 'desc' ):
           if desc is not None:
              self.desc = desc
           if object is not None:
              self.object = object
           self.set_args()

    def set_prefix ( self, prefix ):
        if hasattr( self, 'prefix' ):
           self.prefix = prefix
           self.set_args()

    def set_args ( self ):
        if self.desc is None:
           extra = ''
        else:
           extra = ' specifies %s and' % self.desc
        obj = getattr( self, 'object', None )

        # Note: self.args must be a tuple so be sure to leave the trailing
        # commas.
        the_type = type(self.value)
        if the_type is InstanceType:
            the_type = self.value.__class__
        if obj is not None:
            self.args = ("%s '%s' trait of %s instance%s must be %s, "
                         "but a value of %s was specified." % (
                         self.prefix, self.name, class_of(obj), extra,
                         self.info, repr_type(self.value))),
        else:
            self.args = ("%s '%s' trait%s must be %s, but a value of %s was "
                         "specified." % (self.prefix, self.name, extra,
                                         self.info, repr_type(self.value))),

#-------------------------------------------------------------------------------
#  'TraitNotificationError' class:
#-------------------------------------------------------------------------------

class TraitNotificationError ( exceptions.Exception ):

    pass

#-------------------------------------------------------------------------------
#  'DelegationError' class:
#-------------------------------------------------------------------------------

class DelegationError ( TraitError ):

    def __init__ ( self, args ):
        # .args must be a tuple.
        self.args = args,

#-------------------------------------------------------------------------------
#  Export the defined exceptions to the C-base traits module:
#-------------------------------------------------------------------------------

from . import ctraits
ctraits._exceptions( TraitError, DelegationError )