Skip to content

Commit 388a2d9

Browse files
authored
Pylint recommendations (#105)
1 parent bfa8aac commit 388a2d9

5 files changed

Lines changed: 257 additions & 11 deletions

File tree

alertaclient/api.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
import json
33
import logging
44
import os
5+
from datetime import datetime
56

67
import requests
78
from requests.auth import AuthBase
8-
from datetime import datetime
99

1010
from alertaclient.exceptions import AuthError, UnknownError
1111
from alertaclient.models.alert import Alert

alertaclient/commands/cmd_status.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,9 @@ def cli(obj):
1212
metrics = client.mgmt_status()['metrics']
1313
headers = {'title': 'METRIC', 'type': 'TYPE', 'name': 'NAME', 'value': 'VALUE', 'average': 'AVERAGE'}
1414
click.echo(tabulate([{
15-
'title': m['title'],
16-
'type': m['type'],
17-
'name': '{}.{}'.format(m['group'], m['name']),
18-
'value': m.get('value', None) or m.get('count', 0),
19-
'average': int(m['totalTime']) * 1.0 / int(m['count']) if m['type'] == 'timer' else None
20-
} for m in metrics], headers=headers, tablefmt=obj['output']
21-
))
15+
'title': m['title'],
16+
'type': m['type'],
17+
'name': '{}.{}'.format(m['group'], m['name']),
18+
'value': m.get('value', None) or m.get('count', 0),
19+
'average': int(m['totalTime']) * 1.0 / int(m['count']) if m['type'] == 'timer' else None
20+
} for m in metrics], headers=headers, tablefmt=obj['output']))

alertaclient/models/user.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11

2-
from datetime import datetime
3-
42
from alertaclient.utils import DateTime
53

64

alertaclient/utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11

22
import datetime
3+
import json
34

45
import pytz
56
import six
6-
import json
77

88

99
class CustomJsonEncoder(json.JSONEncoder):

pylintrc

Lines changed: 249 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,249 @@
1+
[MASTER]
2+
3+
# Specify a configuration file.
4+
#rcfile=
5+
6+
# Python code to execute, usually for sys.path manipulation such as
7+
# pygtk.require().
8+
#init-hook=
9+
10+
# Profiled execution.
11+
profile=no
12+
13+
# Add files or directories to the blacklist. They should be base names, not
14+
# paths.
15+
ignore=CVS
16+
17+
# Pickle collected data for later comparisons.
18+
persistent=yes
19+
20+
# List of plugins (as comma separated values of python modules names) to load,
21+
# usually to register additional checkers.
22+
load-plugins=
23+
24+
25+
[MESSAGES CONTROL]
26+
27+
# Enable the message, report, category or checker with the given id(s). You can
28+
# either give multiple identifier separated by comma (,) or put this option
29+
# multiple time.
30+
#enable=
31+
32+
# Disable the message, report, category or checker with the given id(s). You
33+
# can either give multiple identifier separated by comma (,) or put this option
34+
# multiple time (only on the command line, not in the configuration file where
35+
# it should appear only once).
36+
disable=C0111,C0301,E1101
37+
38+
39+
[REPORTS]
40+
41+
# Set the output format. Available formats are text, parseable, colorized, msvs
42+
# (visual studio) and html
43+
output-format=colorized
44+
45+
# Include message's id in output
46+
include-ids=yes
47+
48+
# Put messages in a separate file for each module / package specified on the
49+
# command line instead of printing them on stdout. Reports (if any) will be
50+
# written in a file name "pylint_global.[txt|html]".
51+
files-output=no
52+
53+
# Tells whether to display a full report or only the messages
54+
reports=yes
55+
56+
# Python expression which should return a note less than 10 (10 is the highest
57+
# note). You have access to the variables errors warning, statement which
58+
# respectively contain the number of errors / warnings messages and the total
59+
# number of statements analyzed. This is used by the global evaluation report
60+
# (RP0004).
61+
evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)
62+
63+
# Add a comment according to your evaluation note. This is used by the global
64+
# evaluation report (RP0004).
65+
comment=no
66+
67+
68+
[VARIABLES]
69+
70+
# Tells whether we should check for unused import in __init__ files.
71+
init-import=no
72+
73+
# A regular expression matching the beginning of the name of dummy variables
74+
# (i.e. not used).
75+
dummy-variables-rgx=_|dummy
76+
77+
# List of additional names supposed to be defined in builtins. Remember that
78+
# you should avoid to define new builtins when possible.
79+
additional-builtins=
80+
81+
82+
[MISCELLANEOUS]
83+
84+
# List of note tags to take in consideration, separated by a comma.
85+
notes=FIXME,XXX,TODO
86+
87+
88+
[BASIC]
89+
90+
# Required attributes for module, separated by a comma
91+
required-attributes=
92+
93+
# List of builtins function names that should not be used, separated by a comma
94+
bad-functions=map,filter,apply,input
95+
96+
# Regular expression which should only match correct module names
97+
module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
98+
99+
# Regular expression which should only match correct module level names
100+
const-rgx=(([A-Z_][A-Z0-9_]*)|(__.*__))$
101+
102+
# Regular expression which should only match correct class names
103+
class-rgx=[A-Z_][a-zA-Z0-9]+$
104+
105+
# Regular expression which should only match correct function names
106+
function-rgx=[a-z_][a-z0-9_]{2,30}$
107+
108+
# Regular expression which should only match correct method names
109+
method-rgx=[a-z_][a-z0-9_]{2,30}$
110+
111+
# Regular expression which should only match correct instance attribute names
112+
attr-rgx=[a-z_][a-z0-9_]{2,30}$
113+
114+
# Regular expression which should only match correct argument names
115+
argument-rgx=[a-z_][a-z0-9_]{2,30}$
116+
117+
# Regular expression which should only match correct variable names
118+
variable-rgx=[a-z_][a-zA-Z0-9_]{0,30}$
119+
120+
# Regular expression which should only match correct list comprehension /
121+
# generator expression variable names
122+
inlinevar-rgx=[A-Za-z_][A-Za-z0-9_]*$
123+
124+
# Good variable names which should always be accepted, separated by a comma
125+
good-names=i,j,k,ex,Run,_,id,f,r
126+
127+
# Bad variable names which should always be refused, separated by a comma
128+
bad-names=foo,baz,toto,tutu,tata
129+
130+
# Regular expression which should only match functions or classes name which do
131+
# not require a docstring
132+
no-docstring-rgx=__.*__
133+
134+
135+
[FORMAT]
136+
137+
# Maximum number of characters on a single line.
138+
max-line-length=80
139+
140+
# Maximum number of lines in a module
141+
max-module-lines=1000
142+
143+
# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1
144+
# tab).
145+
indent-string=' '
146+
147+
148+
[SIMILARITIES]
149+
150+
# Minimum lines number of a similarity.
151+
min-similarity-lines=4
152+
153+
# Ignore comments when computing similarities.
154+
ignore-comments=yes
155+
156+
# Ignore docstrings when computing similarities.
157+
ignore-docstrings=yes
158+
159+
160+
[TYPECHECK]
161+
162+
# Tells whether missing members accessed in mixin class should be ignored. A
163+
# mixin class is detected if its name ends with "mixin" (case insensitive).
164+
ignore-mixin-members=yes
165+
166+
# List of classes names for which member attributes should not be checked
167+
# (useful for classes with attributes dynamically set).
168+
ignored-classes=SQLObject
169+
170+
# When zope mode is activated, add a predefined set of Zope acquired attributes
171+
# to generated-members.
172+
zope=no
173+
174+
# List of members which are set dynamically and missed by pylint inference
175+
# system, and so shouldn't trigger E0201 when accessed. Python regular
176+
# expressions are accepted.
177+
generated-members=REQUEST,acl_users,aq_parent
178+
179+
180+
[DESIGN]
181+
182+
# Maximum number of arguments for function / method
183+
max-args=10
184+
185+
# Argument names that match this expression will be ignored. Default to name
186+
# with leading underscore
187+
ignored-argument-names=_.*
188+
189+
# Maximum number of locals for function / method body
190+
max-locals=15
191+
192+
# Maximum number of return / yield for function / method body
193+
max-returns=6
194+
195+
# Maximum number of branch for function / method body
196+
max-branchs=12
197+
198+
# Maximum number of statements in function / method body
199+
max-statements=50
200+
201+
# Maximum number of parents for a class (see R0901).
202+
max-parents=7
203+
204+
# Maximum number of attributes for a class (see R0902).
205+
max-attributes=30
206+
207+
# Minimum number of public methods for a class (see R0903).
208+
min-public-methods=1
209+
210+
# Maximum number of public methods for a class (see R0904).
211+
max-public-methods=30
212+
213+
214+
[IMPORTS]
215+
216+
# Deprecated modules which should not be used, separated by a comma
217+
deprecated-modules=regsub,string,TERMIOS,Bastion,rexec
218+
219+
# Create a graph of every (i.e. internal and external) dependencies in the
220+
# given file (report RP0402 must not be disabled)
221+
import-graph=
222+
223+
# Create a graph of external dependencies in the given file (report RP0402 must
224+
# not be disabled)
225+
ext-import-graph=
226+
227+
# Create a graph of internal dependencies in the given file (report RP0402 must
228+
# not be disabled)
229+
int-import-graph=
230+
231+
232+
[CLASSES]
233+
234+
# List of interface methods to ignore, separated by a comma. This is used for
235+
# instance to not check methods defines in Zope's Interface base class.
236+
ignore-iface-methods=isImplementedBy,deferred,extends,names,namesAndDescriptions,queryDescriptionFor,getBases,getDescriptionFor,getDoc,getName,getTaggedValue,getTaggedValueTags,isEqualOrExtendedBy,setTaggedValue,isImplementedByInstancesOf,adaptWith,is_implemented_by
237+
238+
# List of method names used to declare (i.e. assign) instance attributes.
239+
defining-attr-methods=__init__,__new__,setUp
240+
241+
# List of valid names for the first argument in a class method.
242+
valid-classmethod-first-arg=cls
243+
244+
245+
[EXCEPTIONS]
246+
247+
# Exceptions that will emit a warning when being caught. Defaults to
248+
# "Exception"
249+
overgeneral-exceptions=Exception

0 commit comments

Comments
 (0)