| @@ -43,6 +43,7 @@ MD5_KEY = 'md5' | |||||
| INDEX_KEY = 'index' | INDEX_KEY = 'index' | ||||
| REQUIREMENT_KEY = 'requirements' | REQUIREMENT_KEY = 'requirements' | ||||
| MODULE_KEY = 'module' | MODULE_KEY = 'module' | ||||
| CLASS_NAME = 'class_name' | |||||
| class AstScaning(object): | class AstScaning(object): | ||||
| @@ -237,6 +238,8 @@ class AstScaning(object): | |||||
| ['name']] = final_dict | ['name']] = final_dict | ||||
| if 'decorator_list' == field and attr != []: | if 'decorator_list' == field and attr != []: | ||||
| for item in attr: | |||||
| setattr(item, CLASS_NAME, node.name) | |||||
| self.result_decorator.extend(attr) | self.result_decorator.extend(attr) | ||||
| out += f'{indentstr()}{field}={representation},\n' | out += f'{indentstr()}{field}={representation},\n' | ||||
| @@ -294,7 +297,7 @@ class AstScaning(object): | |||||
| else: | else: | ||||
| return getattr(eval(split_list[0]), split_list[1]) | return getattr(eval(split_list[0]), split_list[1]) | ||||
| def _registry_indexer(self, parsed_input: tuple) -> tuple: | |||||
| def _registry_indexer(self, parsed_input: tuple, class_name: str) -> tuple: | |||||
| """format registry information to a tuple indexer | """format registry information to a tuple indexer | ||||
| Return: | Return: | ||||
| @@ -310,7 +313,7 @@ class AstScaning(object): | |||||
| if len(args_list) == 0 and len(keyword_list) == 0: | if len(args_list) == 0 and len(keyword_list) == 0: | ||||
| args_list.append(default_group) | args_list.append(default_group) | ||||
| if len(keyword_list) == 0 and len(args_list) == 1: | if len(keyword_list) == 0 and len(args_list) == 1: | ||||
| args_list.append(None) | |||||
| args_list.append(class_name) | |||||
| if len(keyword_list) == 1 and len(args_list) == 0: | if len(keyword_list) == 1 and len(args_list) == 0: | ||||
| args_list.append(default_group) | args_list.append(default_group) | ||||
| @@ -344,7 +347,8 @@ class AstScaning(object): | |||||
| if type(node).__name__ != 'Call': | if type(node).__name__ != 'Call': | ||||
| continue | continue | ||||
| parse_output = self._parse_decorator(node) | parse_output = self._parse_decorator(node) | ||||
| index = self._registry_indexer(parse_output) | |||||
| index = self._registry_indexer(parse_output, | |||||
| getattr(node, CLASS_NAME)) | |||||
| if None is not index: | if None is not index: | ||||
| results.append(index) | results.append(index) | ||||
| return results | return results | ||||