-
Notifications
You must be signed in to change notification settings - Fork 5.9k
[CodeStyle] add pre-commit hook remove-tabs for python files
#46290
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 13 commits
6f1f5e0
4145030
3ee8a15
91fbc2f
469bd7c
1343f2d
99775d4
7df65ba
c6ce328
f4807a0
f694c03
aef8fdf
3b51a96
5da1589
b9825a5
02380df
2bf08b2
ed17d0f
7d39482
b98a5bf
5d08226
9e87dc1
daf98d8
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,22 +1,30 @@ | ||
| [flake8] | ||
| select = C,E,F,W | ||
| exclude = ./build | ||
| exclude = | ||
| ./build, | ||
| # A trick to exclude fluid/ but keep fluid/tests/, see more at | ||
| # https://github.com/PaddlePaddle/Paddle/pull/46290#discussion_r976392010 | ||
| ./python/paddle/fluid/[!t]**, | ||
| ./python/paddle/fluid/transpiler/ | ||
| ignore = | ||
| # E, see https://pycodestyle.pycqa.org/en/latest/intro.html#error-codes | ||
| E101,E121,E122,E123,E124,E125,E126,E127,E128,E129,E131, | ||
| E121,E122,E123,E125,E126,E127,E128,E129,E131, | ||
| E201,E202,E203,E221,E225,E226,E228,E231,E241,E251,E261,E262,E265,E266,E271,E272,E275, | ||
| E301,E302,E303,E305,E306, | ||
| E401,E402, | ||
| E501,E502, | ||
| E701,E711,E712,E713,E714,E721,E722,E731,E741, | ||
|
|
||
| # F, see https://flake8.pycqa.org/en/latest/user/error-codes.html | ||
| F401,F402,F403,F404,F405, | ||
|
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. E124 和 F404 是原本不存在的问题,统计出错是因为 #46014 (comment) 统计时候包含了 autopep8 产生的增量,因此这里把这俩也删掉了 此前现存问题应该是 68 个,已在 tracking issue 中更新
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 根据最新统计,又移除了 E221、E275、F523、F823,部分应该是由于排除掉了 fluid,另外一部分应该是因为 #46410 移除了部分 disable 掉的格式化,重新格式化后部分错误码消失了 之后在 tracking issue 更新 |
||
| F401,F402,F403,F405, | ||
| F522,F523,F524,F541, | ||
| F601,F631,F632, | ||
| F811,F821,F823,F841, | ||
|
|
||
| # W, see https://pycodestyle.pycqa.org/en/latest/intro.html#error-codes | ||
| W191, | ||
| W503,W504 | ||
| W601,W605 | ||
| per-file-ignores = | ||
| # These files need tabs for testing. | ||
| python/paddle/fluid/tests/unittests/dygraph_to_static/test_error.py:E101,W191 | ||
| python/paddle/fluid/tests/unittests/collective/fleet/test_hdfs1.py:E101,W191 | ||
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
根据 #46288 (comment) 的讨论,目前 Flake8 忽略
python/paddle/fluid整个目录,但需要单独保留python/paddle/fluid/tests。Flake8 路径相关使用的是 glob 语法(见 https://en.wikipedia.org/wiki/Glob_(programming) ),glob 语法并不能很好地直接实现这样的需求,Stack Overflow 上也有很多问题说明了这一问题(如 https://stackoverflow.com/questions/20638040/glob-exclude-pattern )
这里先使用
./python/paddle/fluid/[!t]**以排除所有./python/paddle/fluid/下第一个字母不是t的路径,这样的路径包含了tests/子目录、transpiler/子目录、trainer_desc.py和trainer_factory.py,因此实际上其余以transpiler/、trainer_desc.py和trainer_factory.py也被「豁免」了。为了解决这一问题,使用额外一项排除掉这样的路径,这样通过两条 glob 实现了上述的需求。