-
Notifications
You must be signed in to change notification settings - Fork 117
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Ignore unused-argument warning for request arguments (Fixes #249)
The previous implementation (result of #155) of disabling the unused-argument warning for functions/methods having an argument named `request` was to broad. As soon as a function/method contains a `request` argument no unused-argument warning will be issued for this function anymore, even though some other arguments are unused! This commit monkey patches `VariablesChecker._is_ignored_named` to specifically suppress the generation of unused-argument warnings for arguments named `request`. This way unused-argument warnings will still be issued for every other unused argument of the function/method.
- Loading branch information
Showing
5 changed files
with
79 additions
and
29 deletions.
There are no files selected for viewing
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
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
""" | ||
Checks that Pylint still complains about unused-arguments for other | ||
arguments if a function/method contains an argument named `request`. | ||
""" | ||
# pylint: disable=missing-docstring | ||
|
||
from django.http import JsonResponse | ||
from django.views import View | ||
|
||
# Pylint generates the warning `redefined-outer-name` if an argument name shadows | ||
# a variable name from an outer scope. But if that argument name is ignored this | ||
# warning will not be generated. | ||
# Therefore define request here to cover this behaviour in this test case. | ||
|
||
request = None # pylint: disable=invalid-name | ||
|
||
|
||
def user_detail(request, user_id): # [unused-argument] | ||
# nothing is done with user_id | ||
return JsonResponse({'username': 'steve'}) | ||
|
||
|
||
class UserView(View): | ||
def get(self, request, user_id): # [unused-argument] | ||
# nothing is done with user_id | ||
return JsonResponse({'username': 'steve'}) | ||
|
||
|
||
# The following views are already covered in other test cases. | ||
# They are included here for completeness sake. | ||
|
||
def welcome_view(request): | ||
# just don't use `request' b/c we could have Django views | ||
# which never use it! | ||
return JsonResponse({'message': 'welcome'}) | ||
|
||
|
||
class CBV(View): | ||
def get(self, request): | ||
return JsonResponse({'message': 'hello world'}) |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
unused-argument:18:user_detail:Unused argument 'user_id':HIGH | ||
unused-argument:24:UserView.get:Unused argument 'user_id':INFERENCE |