# Copyright (c) 2007, Enthought, Inc. # License: BSD Style. # all_wildcard.py --- Example of trait attribute wildcard rules #--[Imports]-------------------------------------------------------------------- from traits.api import Any, Str, Int, HasTraits, TraitError #--[Code]----------------------------------------------------------------------- class Person ( HasTraits ): # Normal, explicitly defined trait: name = Str # By default, let all traits have any value: _ = Any # Except for this one, which must be an Int: age = Int #--[Example*]------------------------------------------------------------------- # Create a sample Person: bill = Person() # These assignments should all work: bill.name = 'William' bill.address = '121 Drury Lane' bill.zip_code = 55212 bill.age = 49 # This should generate an error (must be an Int): print 'Attempting to assign a string to an Int trait object...\n' try: bill.age = 'middle age' except TraitError, c: print 'TraitError: ', c, '\n' # Display the final results: bill.print_traits()