-
Notifications
You must be signed in to change notification settings - Fork 2.8k
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
[pylint] fixing enum checker #24068
Merged
l0lawrence
merged 2 commits into
Azure:feature/pylint-plugins
from
l0lawrence:enum_checker_fix
Apr 18, 2022
Merged
[pylint] fixing enum checker #24068
l0lawrence
merged 2 commits into
Azure:feature/pylint-plugins
from
l0lawrence:enum_checker_fix
Apr 18, 2022
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/check-enforcer override |
kristapratico
approved these changes
Apr 18, 2022
catalinaperalta
approved these changes
Apr 18, 2022
/check-enforcer override |
l0lawrence
added a commit
that referenced
this pull request
Apr 19, 2022
* [pylint] alias checker and tests (#23471) * intro patch for aliasing - needs better way to grab __all__ info * updated alias message * line number shows up with alias warning * working on testing this, slight mod to isinstance * tests for aliasing * updated docstring * removing random import * adding in a newline * adding in a newline * changing naming of error message * changing package to model in except * checking for only __all__ assign Node (cat) * added alias checker to README * added test file to test disable pylint warning * add from import test * removed unused imports * changing test names for clarity * added newline * added link from Izzy * fixed some issues with the links * fixed some issues with the links2 * fix for running core on pylint pr * removed cr * checking ignore files * seeing if ignore file will fix core breaks * fix path in ci * removed ignore * removed ignore file * rerun * removing core * made 2 for loops to figure out why search is not catching in core run * core * remvoing core * renaming to naming_mismatch * fix message name * fixing naming issues * naming init * naming register * changing name to align with checker name change * fixed messaging * fixing pylint error * found a less invasive way to get to the model name in __all__ * reverting back to originally bc init can have more than 1 assign * [pylint] Api checker (#23500) * setting remote * setting up api version checker * api checker * running core to see where error pops up * trying to get tests to run * python versioning and kwargs will change this * checking docstring for api version keyword * added basic test for docstring api_version * adding in a test file for api version checker * edit test file * removing import that got added * added newline: * remvoing scripts from pipeline * added newline: * added in check for init doc too * added in a test for init having the doc versus the init * had to make tests go down to the class level to run test files * fixing naming schema and docs for api checker - renamed error * instead of splitting the doc - directly check for the keyword api_version string * renaming file to match other test files * switching around the order of keyword and param to see the effect on the checker * renaming changed file name in test * added api checker to the readme * refactoring - if class doc has api_verison, skip looking at the init func * fixing docstring on bad test * changing credential type in test docstring * adding in endpoint as an arg in the init * addind endpoint as arg in init * adding endpoint as arg * updating test file names to follow acceptable and violation format * updating file names in tests, and updating test function names to follow violation and acceptable trend * fixing eof newline errors * trying to get commits into pr * eof newline * changing class name to APIVersion instead of api * init file, also updated APIVersion name * adding end colon to api_verion str checking * added in end colon to node.doc check too * [pylint] adding in correct links for pylint (#23503) * adding in correct links for pylint * added in better links * updating links * updating links * add in url to tests * add in url to tests * fixed disable in README for client-method-should-not-use-static-method * fixing merge issue in readme with api_checker * Enum cases (#23571) * setting upstream * start of enum checker * wip enum cehcker * passing basic test, need to only check enum * adding tests for enum * removed print statements * tests * added in check that class is Enum related * adding rule for caseInsensitiveMeta * had to change how to check for Enum b/c Meta makes it a Call Node * added in a test for CaseInsensitive * random import * added to readme * changed regsistered name * fixed checker for uppercase so it references correct line * fixed test to reflect line change in checker * removing excess == * add new line * seeing where enum checker will fail * rerun * remove alias * removing alias for ci * added in consideration for python3 meta syntax * fixed error assuming metaclass exists * adding enum class check * missing an init * removing the alias from readme * fix docstring for enum class * removing core * enum checker update comments * editing comments on checker * refactoring for 2 diff syntaxes: * added test file for enum * removed _CaseInsensitiveEnumMeta * some syntax changing * fixing comments * list is superfluous: * removing the import that was default added for Node * fixing space in comment, and removing if arg.name - pr comments * edited test files, to test for both errors being thrown in the same enum class - pr comments * fixing naming of test methods for readability * split the enum checker into 2 private functions for the 2 different rules * making if into elif on 1783 and 1800 to prevent breaking when python2 enum format * renaming test files -pr comments * python3 enum inherit class checker now uses _metaclass versus declared_metaclass() * added in test for python 3 metaclass format * enum_code now uses helper functions to return a boolean for both pylint guidelines * adding a test to verify metaclass syntax ensures the MetaClass is the 1st argument arg[0] * removing unused test files * renaming test names to follow _violation and _acceptable pattern * fixing inheritance of enummeta class format * added in docstrings for the helper functions created * adding newline at eof * removing spaces from the eof line for github error * clarifying enum_class helper function docstring * fixing docstring edits * returning booleans versus returning the individual variable * collapsing inherit helper function to call message directly instead * adding newline to eof * updating _check_is_enum_class docstring return, rtype * adding in import statement for metaclass, and enum to tests * had to import with_metaclass for py2 * had to also import with_metaclass for python2 tests * using declared_metaclass() instead of metaclass to get the metaclass for both py2 and py3 syntax * removing uneeded for loop and now we are directly checking enum within the bases (arguments) of the class node * collapsing a helper method to simplify logic of checker * fixing indentation of tests * adding space in api version error * updating the broken links in the pylint warnings to match the README (#23726) * [pylint] Updating PylintCheckers testing (#23707) * Updating CheckNamingMismatchGeneratedCode testing - naming convention and adding guidelines link test * Updating CheckEnum test suite - added test for readme guideline links * CheckAPIVersion added test for guidelines link * FileHasCopyrightHeader added in test files to test for copyright header checker * created TestPackageNameDoesNotUseUnderscoreOrPeriod * TestPackageNameDoesNotUseUnderscoreOrPeriod adding guidelines link test * added in TestServiceClientUsesNameWithClientSuffix test class * fixed newline issues at end of file * added guidelines link into NamingMismatchGeneratedCode warning: * fixed PR comments with helper function for guidelines - import requests * [pylint] Suppressing pylint for ACR, Tables and AppConfig (#24002) * suppressing ACR pylint * suppress tables pylint * [pylint] suppressing app config pylint (#24007) * suppressing ACR pylint * suppress tables pylint * app config suppressions * app config, pulling changes that merged * [formrecognizer] Fix pylint errors in enums (#24012) * add case insensitive enum meta * fix import order * [pylint] fixing enum checker (#24068) * fixing enum checker * extra space fix :( * fixing enum pylint issue (#24050) * fixing pylint issues for now (#24057) * [Servicebus] Fixing pylint issues (#24049) * fixing service bus pylint issues * removing extra line * same extra line * pr comments: int Enums don't need to inherit * if if doesn't have str - no metaclass * disabling pylint checker for now (#24056) * fix pylint issues (#24051) * fixing pylint issues (#24054) * fixing pylint issues for now (#24055) * adding eventgrid fixes, resetting to feature branch (#24046) * [Monitor] pylint issues fixed (#24053) * fixing monitor query pylint issues * extra line * [pylint] Fix remoterender (#24074) * fix remoterender * adding line * remove line Co-authored-by: catalinaperalta <catalinaperaltah@hotmail.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Only str enum classes inherit metaclass