@@ -54,6 +54,7 @@ def get_keyword_names(self):
54
54
55
55
56
56
class DynamicCore (HybridCore ):
57
+ _get_keyword_tags_supported = False # get_keyword_tags is new in RF 3.0.2
57
58
58
59
def run_keyword (self , name , args , kwargs ):
59
60
return self .keywords [name ](* args , ** kwargs )
@@ -77,17 +78,18 @@ def _get_arg_spec(self, kw):
77
78
defaults = zip (args [nargs :], defaults )
78
79
return mandatory , defaults , spec .varargs , spec .keywords
79
80
80
- def get_keyword_documentation (self , name ):
81
- doc , tags = self ._get_doc_and_tags (name )
82
- doc = doc or ''
83
- tags = 'Tags: {}' .format (', ' .join (tags )) if tags else ''
84
- sep = '\n \n ' if doc and tags else ''
85
- return doc + sep + tags
81
+ def get_keyword_tags (self , name ):
82
+ self ._get_keyword_tags_supported = True
83
+ return self .keywords [name ].robot_tags
86
84
87
- def _get_doc_and_tags (self , name ):
85
+ def get_keyword_documentation (self , name ):
88
86
if name == '__intro__' :
89
- return inspect .getdoc (self ), None
87
+ return inspect .getdoc (self ) or ''
90
88
if name == '__init__' :
91
- return inspect .getdoc (self .__init__ ), None
89
+ return inspect .getdoc (self .__init__ ) or ''
92
90
kw = self .keywords [name ]
93
- return inspect .getdoc (kw ), kw .robot_tags
91
+ doc = inspect .getdoc (kw ) or ''
92
+ if kw .robot_tags and not self ._get_keyword_tags_supported :
93
+ tags = 'Tags: {}' .format (', ' .join (kw .robot_tags ))
94
+ doc = '{}\n \n {}' .format (doc , tags ) if doc else tags
95
+ return doc
0 commit comments