当前位置: 首页>>代码示例>>Python>>正文


Python fixer_base.BaseFix方法代码示例

本文整理汇总了Python中lib2to3.fixer_base.BaseFix方法的典型用法代码示例。如果您正苦于以下问题:Python fixer_base.BaseFix方法的具体用法?Python fixer_base.BaseFix怎么用?Python fixer_base.BaseFix使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在lib2to3.fixer_base的用法示例。


在下文中一共展示了fixer_base.BaseFix方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_get_headnode_dict

# 需要导入模块: from lib2to3 import fixer_base [as 别名]
# 或者: from lib2to3.fixer_base import BaseFix [as 别名]
def test_get_headnode_dict(self):
        class NoneFix(fixer_base.BaseFix):
            pass

        class FileInputFix(fixer_base.BaseFix):
            PATTERN = "file_input< any * >"

        class SimpleFix(fixer_base.BaseFix):
            PATTERN = "'name'"

        no_head = NoneFix({}, [])
        with_head = FileInputFix({}, [])
        simple = SimpleFix({}, [])
        d = refactor._get_headnode_dict([no_head, with_head, simple])
        top_fixes = d.pop(pygram.python_symbols.file_input)
        self.assertEqual(top_fixes, [with_head, no_head])
        name_fixes = d.pop(token.NAME)
        self.assertEqual(name_fixes, [simple, no_head])
        for fixes in d.values():
            self.assertEqual(fixes, [no_head]) 
开发者ID:remg427,项目名称:misp42splunk,代码行数:22,代码来源:test_refactor.py

示例2: test_get_headnode_dict

# 需要导入模块: from lib2to3 import fixer_base [as 别名]
# 或者: from lib2to3.fixer_base import BaseFix [as 别名]
def test_get_headnode_dict(self):
        class NoneFix(fixer_base.BaseFix):
            pass

        class FileInputFix(fixer_base.BaseFix):
            PATTERN = "file_input< any * >"

        class SimpleFix(fixer_base.BaseFix):
            PATTERN = "'name'"

        no_head = NoneFix({}, [])
        with_head = FileInputFix({}, [])
        simple = SimpleFix({}, [])
        d = refactor._get_headnode_dict([no_head, with_head, simple])
        top_fixes = d.pop(pygram.python_symbols.file_input)
        self.assertEqual(top_fixes, [with_head, no_head])
        name_fixes = d.pop(token.NAME)
        self.assertEqual(name_fixes, [simple, no_head])
        for fixes in d.itervalues():
            self.assertEqual(fixes, [no_head]) 
开发者ID:remg427,项目名称:misp42splunk,代码行数:22,代码来源:test_refactor.py

示例3: _strip_type_hints_using_lib2to3

# 需要导入模块: from lib2to3 import fixer_base [as 别名]
# 或者: from lib2to3.fixer_base import BaseFix [as 别名]
def _strip_type_hints_using_lib2to3(source_code: str) -> str:
    """Strips type annotations from the function definitions in the provided source code."""

    # Using the standard lib2to3 library to strip type annotations.
    # Switch to another library like strip-hints if issues are found.
    from lib2to3 import fixer_base, refactor, fixer_util

    class StripAnnotations(fixer_base.BaseFix):
        PATTERN = r'''
            typed_func_parameter=tname
            |
            typed_func_return_value=funcdef< any+ '->' any+ >
        '''

        def transform(self, node, results):
            if 'typed_func_parameter' in results:
                # Delete the annotation part of the function parameter declaration
                del node.children[1:]
            elif 'typed_func_return_value' in results:
                # Delete the return annotation part of the function declaration
                del node.children[-4:-2]
            return node

    class Refactor(refactor.RefactoringTool):
        def __init__(self, fixers):
            self._fixers = [cls(None, None) for cls in fixers]
            super().__init__(None, {'print_function': True})

        def get_fixers(self):
            return self._fixers, []

    stripped_code = str(Refactor([StripAnnotations]).refactor_string(source_code, ''))
    return stripped_code 
开发者ID:kubeflow,项目名称:pipelines,代码行数:35,代码来源:_python_op.py


注:本文中的lib2to3.fixer_base.BaseFix方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。