@@ -54,6 +54,7 @@ def get_keyword_names(self):
5454
5555
5656class DynamicCore (HybridCore ):
57+ _get_keyword_tags_supported = False # get_keyword_tags is new in RF 3.0.2
5758
5859 def run_keyword (self , name , args , kwargs ):
5960 return self .keywords [name ](* args , ** kwargs )
@@ -77,17 +78,18 @@ def _get_arg_spec(self, kw):
7778 defaults = zip (args [nargs :], defaults )
7879 return mandatory , defaults , spec .varargs , spec .keywords
7980
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
8684
87- def _get_doc_and_tags (self , name ):
85+ def get_keyword_documentation (self , name ):
8886 if name == '__intro__' :
89- return inspect .getdoc (self ), None
87+ return inspect .getdoc (self ) or ''
9088 if name == '__init__' :
91- return inspect .getdoc (self .__init__ ), None
89+ return inspect .getdoc (self .__init__ ) or ''
9290 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