diff --git a/.pylintrc b/.pylintrc index 0e701f7..cbd96ee 100644 --- a/.pylintrc +++ b/.pylintrc @@ -2,13 +2,17 @@ # add,bind,close,commit,delete,flush,rollback are for SQLAlchemy's # scoped_session implementation, which uses __call__ to pass the call -# to a backing instance +# to a backing instance. We always call instances of scoped_session +# `session` or `SESSION`. Unfortunately due to +# https://github.com/PyCQA/pylint/issues/1167 we cannot use regexes +# like `(session|SESSION)\.add` here. # secure_filename is from werkzeug, which lazy loads functions from -# submodules +# submodules. # get_object,set_target,shorthand,target are for some kind of -# shenanigans going on with flask and werkzeug proxying and pygit2 +# shenanigans going on with flask and werkzeug proxying and pygit2. +# We always call the object `head`, in this case, it seems. # GIT_REPOSITORY_INIT_SHARED_GROUP is for a constant we get from # pygit2; we could use: @@ -18,5 +22,25 @@ # and avoid the pylint error, but per # https://github.com/libgit2/pygit2/issues/483 # that only works since a commit in early 2015 which may be too new -# to be safe -generated-members=GIT_REPOSITORY_INIT_SHARED_GROUP,add,bind,close,commit,delete,flush,get_object,rollback,secure_filename,set_target,shorthand,target +# to be safe. + +generated-members=pygit2\.C\.GIT_REPOSITORY_INIT_SHARED_GROUP, + .*session\.add, + .*SESSION\.add, + .*session\.bind, + .*SESSION\.bind, + .*session\.close, + .*SESSION\.close, + .*session\.commit, + .*SESSION\.commit, + .*session\.delete, + .*SESSION\.delete, + .*session\.flush, + .*SESSION\.flush, + .*session\.rollback, + .*SESSION\.rollback, + .*head\.get_object, + .*head\.set_target, + .*head\.shorthand, + .*head\.target, + werkzeug\.secure_filename,