Changeset 1529
- Timestamp:
- 07/14/08 14:19:26 (5 months ago)
- Location:
- pyamf/trunk
- Files:
-
- 3 modified
-
. (modified) (1 prop)
-
pyamf/__init__.py (modified) (2 diffs)
-
pyamf/tests/test_basic.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
pyamf/trunk
- Property svn:mergeinfo
-
old new 1 /pyamf/branches/remote-object-async-message-292:1512-1521 1 /pyamf/branches/class-init-args-322:1527-1528 2 /pyamf/trunk:1525-1526
-
- Property svn:mergeinfo
-
pyamf/trunk/pyamf/__init__.py
r1508 r1529 362 362 elif type(self.klass) is types.ClassType: # classic class 363 363 return util.make_classic_instance(self.klass) 364 365 364 raise TypeError, 'invalid class type %r' % self.klass 366 365 367 366 return self.klass(*args, **kwargs) 368 367 … … 635 634 raise ValueError, "alias '%s' already registered" % alias 636 635 636 # Check that the constructor of the class doesn't require any additonal 637 # arguments. 638 if hasattr(klass, '__init__') and hasattr(klass.__init__, 'im_func'): 639 klass_func = klass.__init__.im_func 640 # Number of arguments - number of default values 641 if klass_func.func_code.co_argcount - len(klass_func.func_defaults or []) > 1: 642 raise TypeError("pyamf doesn't support required init arguments") 643 637 644 x = ClassAlias(klass, alias, attr_func=attr_func, attrs=attrs, 638 645 metadata=metadata) -
pyamf/trunk/pyamf/tests/test_basic.py
r1416 r1529 427 427 428 428 self.assertEquals(pyamf.has_alias(Spam), True) 429 430 def test_required_arguments(self): 431 class Foo(object): 432 def __init__(self, bar, valid=1): 433 pass 434 self.assertRaises(TypeError, pyamf.register_class, Foo) 435 436 class Foo(object): 437 def __init__(self, bar, valid): 438 pass 439 self.assertRaises(TypeError, pyamf.register_class, Foo) 440 441 class Foo(object): 442 def __init__(self, bar=1, valid=1): 443 pass 444 pyamf.register_class(Foo) 445 429 446 430 447 class UnregisterClassTestCase(ClassCacheClearingTestCase):
