/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 )
|