用于Flake8插件的PolyFill包

flake8-polyfill的Python项目详细描述


flake8-polyfill是一个包,它为 Flake8插件打算同时支持Flake8 2.x和3.x。

安装

pip install flake8-polyfill

用法

选项处理

与flake8 2.x和3.x兼容的一个问题是注册 选项和接收解析的值。

flake8 3.0向add_option方法添加了额外的参数,但是 对flake8 2.x也有同样的效果。为了适应变化,这个polyfill 模块允许您执行以下操作:

fromflake8_polyfillimportoptionsclassMyFlake8Plugin(object):@classmethoddefadd_options(cls,parser):options.register(parser,'--my-long-option-name',parse_from_config=True,comma_separated_list=True,default='...',help='...')options.register(parser,'-m','--my-other-long-option-name',parse_from_config=True,normalize_paths=True,default='...',help='...')@classmethoddefparse_options(cls,values):cls.my_long_option_name=values.my_long_option_namecls.my_other_long_option_name=values.my_other_long_option_name

并让代码在两个版本上以相同的方式工作。

检索

中的标准

在flake8 2.6之前,从插件获取标准的代码 简单:

importpep8stdin=pep8.get_stdin_value()

在2.6中,您现在必须知道是使用pep8还是pycodestyle,因为 flake8 2.6对pycodestyle进行了硬更改。

您需要知道使用哪个模块的原因是 筋疲力尽,flake8做了一些工作来缓存该值,以便调用始终 返回所需的数据。

在3.0中,flake8不再对这些模块进行monkey补丁。

为了适应这种情况,此软件包提供:

fromflake8_polyfillimportstdinstdin.monkey_patch('all')stdin.monkey_patch('pep8')stdin.monkey_patch('pycodestyle')

这允许你有你想要的polyfill模块猴子补丁,所以 总是猴子打补丁。它还将以一种明智的方式这样做。

版本比较

flake8 2.x没有包含允许轻松版本的对象 比较。但是,flake8 3.0添加了一个__version_info__属性。为了 一致性,flake8 polyfill会将2.x版本的字符串转换为元组 适合比较。

fromflake8_polyfillimportversionif(2,4)<=version.version_info<(2,6):# ...elif(2,6)<=version.version_info<(3,0):# ...elif(3,0)<=version.version_info<(4,0):# ...

许可证

麻省理工学院

创建者

伊恩·科达斯科

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
运行ClassSpy java时发生反射错误   java Android ContextWrapper fileList()看不到我的文件   java使用JAXWS构建大型MTOM/XOP消息   eclipse如何使用ACM库(控制台程序)编写Java程序?   java m2eclipse插件搜索在配置为Nexus时不会给出结果   java Scanner只识别文本文件中的某些行,而不识别其他行   java如何从smartwatch启动活动或服务   java检查数组是否至少有两个具有特定值的元素   JAVA网URL编码器/解码器替代方案   Java中通过引用传递对象   spring如何在使用JavaJSON修补程序进行修补时禁止更新字段   使用java将海量数据存储到mysql的最佳方法   java字符串作为不可变对象   java我无法访问tomcat服务器(localhost),甚至无法访问mysql   java While循环条件未给出预期结果   java如何启动传递图像uri的新活动   Java中类定义在方法中的使用   Java程序在Ubuntu中运行我的另一个程序