مستوحاة من هذا المنشور المدونة. وصفت عملية بناء هذه الأداة هنا.
"بالنسبة لأولئك الذين يحبون الديناصورات؟ ونظيفة المحاولة/ما عدا الكتل."
ملخص
flake8 البرنامج المساعد pip install tryceratops
أو
poetry add -D tryceratops
tryceratops [filename or dir...]
يمكنك تمكين المحللين التجريبيين عن طريق التشغيل:
tryceratops --experimental [filename or dir...]
يمكنك تجاهل انتهاكات محددة باستخدام: --ignore TRYXXX مرارًا وتكرارًا:
tryceratops --ignore TRY201 --ignore TRY202 [filename or dir...]
يمكنك استبعاد dirs باستخدام: --exclude dir/path مرارًا وتكرارًا:
tryceratops --exclude tests --exclude .venv [filename or dir...]
يمكنك أيضًا Autofix بعض الانتهاكات:
tryceratops --autofix [filename or dir...]
flake8 البرنامج المساعد ؟ Tryceratops هو أيضًا مكون إضافي لـ flake8 ، لذلك يمكنك:
❯ flake8 --select TRY src/tests/samples/violations/call_raise_vanilla.py
src/tests/samples/violations/call_raise_vanilla.py:13:9: TRY002 Create your own exception
src/tests/samples/violations/call_raise_vanilla.py:13:9: TRY003 Avoid specifying long messages outside the exception class
src/tests/samples/violations/call_raise_vanilla.py:21:9: TRY201 Simply use 'raise' without specifying exception object again
يمكن العثور على جميع الانتهاكات وأوصافها في المستندات.
حتى الآن ، يدعم Autofix الانتهاكات فقط: Try200 و Try201 و Try400.
إذا كنت تريد تجاهل انتهاك في ملف معين ، فيمكنك إما:
noqa إلى الجزء العلوي من الملف الذي تريد تجاهلهnoqa إلى الخط الذي تريد تجاهلهnoqa: CODE إلى الخط الذي تريد تجاهله لانتهاك محددمثال:
def verbose_reraise_1 ():
try :
a = 1
except Exception as ex :
raise ex # noqa: TRY202 يمكنك إعداد ملف pyproject.toml لتعيين القواعد. يعد هذا مفيدًا لتجنب إعادة استخدام علامات CLI نفسها مرارًا وتكرارًا ويساعد على تحديد بنية مشروعك.
مثال:
[ tool . tryceratops ]
exclude = [ " samples " ]
ignore = [ " TRY002 " , " TRY200 " , " TRY300 " ]
experimental = false
check_pickable = false
allowed_base_exceptions = [ " MyAppBase " ]أعلام CLI دائمًا في الكتابة فوق ملف التكوين.
إذا كنت ترغب في استخدام ما قبل الالتزام ، أضف هذا:
- repo : https://github.com/guilatrova/tryceratops
rev : v2.4.1
hooks :
- id : tryceratops أضف هذه الشارة الفاخرة إلى مشروع README.md لمشروعك:
[ ![ try/except style: tryceratops ] ( https://img.shields.io/badge/try%2Fexcept%20style-tryceratops%20%F0%9F%A6%96%E2%9C%A8-black )] ( https://github.com/guilatrova/tryceratops ) إذا كنت تريد قراءة المزيد عن:
شكرا لك على التفكير في جعل Tryceratops أفضل للجميع!
الرجوع إلى المستندات المساهمة.
انظر Changelog.
معهد ماساتشوستس للتكنولوجيا
شكرا لله على الإلهام؟ ☁ ☀
المشروع الأسود للرؤى.