@@ -37,33 +37,34 @@ def decorator(func):
3737
3838PY2 = sys .version_info < (3 ,)
3939
40- __version__ = '1.0rc1 '
40+ __version__ = '1.0rc2 '
4141
4242
4343class HybridCore (object ):
4444
45- def __init__ (self , libraries ):
46- self .keywords = dict (self ._find_keywords (* libraries ))
47- self .keywords .update (self ._find_keywords (self ))
45+ def __init__ (self , library_components ):
46+ self .keywords = {}
47+ self .add_library_components (library_components )
48+ self .add_library_components ([self ])
4849
49- def _find_keywords (self , * libraries ):
50- for library in libraries :
51- for name , func in self ._get_members (library ):
50+ def add_library_components (self , library_components ):
51+ for component in library_components :
52+ for name , func in self ._get_members (component ):
5253 if callable (func ) and hasattr (func , 'robot_name' ):
5354 kw_name = func .robot_name or name
54- yield kw_name , getattr (library , name )
55+ self . keywords [ kw_name ] = getattr (component , name )
5556
56- def _get_members (self , library ):
57- if inspect .ismodule (library ):
58- return inspect .getmembers (library )
59- if inspect .isclass (library ):
57+ def _get_members (self , component ):
58+ if inspect .ismodule (component ):
59+ return inspect .getmembers (component )
60+ if inspect .isclass (component ):
6061 raise TypeError ('Libraries must be modules or instances, got '
61- 'class {!r} instead.' .format (library .__name__ ))
62- if type (library ) != library .__class__ :
62+ 'class {!r} instead.' .format (component .__name__ ))
63+ if type (component ) != component .__class__ :
6364 raise TypeError ('Libraries must be modules or new-style class '
6465 'instances, got old-style class {!r} instead.'
65- .format (library .__class__ .__name__ ))
66- return self ._get_members_from_instannce (library )
66+ .format (component .__class__ .__name__ ))
67+ return self ._get_members_from_instannce (component )
6768
6869 def _get_members_from_instannce (self , instance ):
6970 # Avoid calling properties by getting members from class, not instance.
0 commit comments