43 @type dict |
45 @type dict |
44 """ |
46 """ |
45 if ( |
47 if ( |
46 context.isModuleImportedLike("paramiko") |
48 context.isModuleImportedLike("paramiko") |
47 and context.callFunctionName == "set_missing_host_key_policy" |
49 and context.callFunctionName == "set_missing_host_key_policy" |
48 and context.callArgs |
50 and context.node.args |
49 and context.callArgs[0] in ["AutoAddPolicy", "WarningPolicy"] |
|
50 ): |
51 ): |
51 reportError( |
52 policyArgument = context.node.args[0] |
52 context.node.lineno - 1, |
53 |
53 context.node.col_offset, |
54 policyArgumentValue = None |
54 "S507", |
55 if isinstance(policyArgument, ast.Attribute): |
55 "H", |
56 policyArgumentValue = policyArgument.attr |
56 "M", |
57 elif isinstance(policyArgument, ast.Call): |
57 ) |
58 policyArgumentValue = policyArgument.func.attr |
|
59 |
|
60 if policyArgumentValue in ["AutoAddPolicy", "WarningPolicy"]: |
|
61 reportError( |
|
62 context.node.lineno - 1, |
|
63 context.node.col_offset, |
|
64 "S507", |
|
65 "H", |
|
66 "M", |
|
67 ) |