Changeset 133 for pyyaml/trunk/lib/yaml/constructor.py
- Timestamp:
- 04/10/06 20:34:16 (7 years ago)
- File:
-
- 1 edited
-
pyyaml/trunk/lib/yaml/constructor.py (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
pyyaml/trunk/lib/yaml/constructor.py
r116 r133 1 1 2 __all__ = ['BaseConstructor', ' Constructor', 'ConstructorError',3 ' YAMLObject', 'YAMLObjectMetaclass']2 __all__ = ['BaseConstructor', 'SafeConstructor', 'Constructor', 3 'ConstructorError'] 4 4 5 5 from error import * … … 155 155 yaml_constructors = {} 156 156 157 class Constructor(BaseConstructor):157 class SafeConstructor(BaseConstructor): 158 158 159 159 def construct_yaml_null(self, node): … … 333 333 node.start_mark) 334 334 335 Constructor.add_constructor(335 SafeConstructor.add_constructor( 336 336 u'tag:yaml.org,2002:null', 337 Constructor.construct_yaml_null)338 339 Constructor.add_constructor(337 SafeConstructor.construct_yaml_null) 338 339 SafeConstructor.add_constructor( 340 340 u'tag:yaml.org,2002:bool', 341 Constructor.construct_yaml_bool)342 343 Constructor.add_constructor(341 SafeConstructor.construct_yaml_bool) 342 343 SafeConstructor.add_constructor( 344 344 u'tag:yaml.org,2002:int', 345 Constructor.construct_yaml_int)346 347 Constructor.add_constructor(345 SafeConstructor.construct_yaml_int) 346 347 SafeConstructor.add_constructor( 348 348 u'tag:yaml.org,2002:float', 349 Constructor.construct_yaml_float)350 351 Constructor.add_constructor(349 SafeConstructor.construct_yaml_float) 350 351 SafeConstructor.add_constructor( 352 352 u'tag:yaml.org,2002:binary', 353 Constructor.construct_yaml_binary)353 SafeConstructor.construct_yaml_binary) 354 354 355 355 if datetime_available: 356 Constructor.add_constructor(356 SafeConstructor.add_constructor( 357 357 u'tag:yaml.org,2002:timestamp', 358 Constructor.construct_yaml_timestamp)359 360 Constructor.add_constructor(358 SafeConstructor.construct_yaml_timestamp) 359 360 SafeConstructor.add_constructor( 361 361 u'tag:yaml.org,2002:omap', 362 Constructor.construct_yaml_omap)363 364 Constructor.add_constructor(362 SafeConstructor.construct_yaml_omap) 363 364 SafeConstructor.add_constructor( 365 365 u'tag:yaml.org,2002:pairs', 366 Constructor.construct_yaml_pairs)367 368 Constructor.add_constructor(366 SafeConstructor.construct_yaml_pairs) 367 368 SafeConstructor.add_constructor( 369 369 u'tag:yaml.org,2002:set', 370 Constructor.construct_yaml_set)371 372 Constructor.add_constructor(370 SafeConstructor.construct_yaml_set) 371 372 SafeConstructor.add_constructor( 373 373 u'tag:yaml.org,2002:str', 374 Constructor.construct_yaml_str)375 376 Constructor.add_constructor(374 SafeConstructor.construct_yaml_str) 375 376 SafeConstructor.add_constructor( 377 377 u'tag:yaml.org,2002:seq', 378 Constructor.construct_yaml_seq)379 380 Constructor.add_constructor(378 SafeConstructor.construct_yaml_seq) 379 380 SafeConstructor.add_constructor( 381 381 u'tag:yaml.org,2002:map', 382 Constructor.construct_yaml_map) 383 384 Constructor.add_constructor(None, 385 Constructor.construct_undefined) 386 387 class YAMLObjectMetaclass(type): 388 389 def __init__(cls, name, bases, kwds): 390 super(YAMLObjectMetaclass, cls).__init__(name, bases, kwds) 391 if 'yaml_tag' in kwds and kwds['yaml_tag'] is not None: 392 cls.yaml_constructor.add_constructor(cls.yaml_tag, cls.from_yaml) 393 394 class YAMLObject(object): 395 396 __metaclass__ = YAMLObjectMetaclass 397 398 yaml_constructor = Constructor 399 400 yaml_tag = None 401 402 def from_yaml(cls, constructor, node): 403 raise ConstructorError(None, None, 404 "found undefined constructor for the tag %r" 405 % node.tag.encode('utf-8'), node.start_mark) 406 from_yaml = classmethod(from_yaml) 407 408 def to_yaml(self): 409 assert False # needs dumper 410 382 SafeConstructor.construct_yaml_map) 383 384 SafeConstructor.add_constructor(None, 385 SafeConstructor.construct_undefined) 386 387 class Constructor(SafeConstructor): 388 pass 389
Note: See TracChangeset
for help on using the changeset viewer.
