pylintrc
author julien tayon <julien.tayon@logilab.fr>
Thu, 16 May 2019 14:26:38 +0200
branch3.26
changeset 12618 3f125fdbcd70
parent 11219 0796b6191cea
permissions -rw-r--r--
[ldapfeed] FIX: Unique Key violation when synchronizing with LDAPfeed What was happening ================== The bug appears when ldapfeed tries to insert a user while another user exists exists with a different source. Simple use case to reproduce: - create a local user in cubicweb (source=system) - sync with ldap - ldapfeed will stop complaining user already exists. Without next patch the test MUST fail with message: cubicweb/server/sources/native.py:714: UniqueTogetherError The ldapfeed is thus stopped ignoring any further ldap entries. The proposal ============ Prior to this patch, the insertion was trying to create all CWUser with the computed login from eeimporter.extid2eid (method process of DataFeedLDAPAdapter). When a CWUser existed with a different cw_source ("system" for user created with cubicweb for instance), it created a conflict. To avoid collisions, in the extentities_generator method a bypass was added at the insertion layer. Prior to insertion the absence of the computed login is checked on a list of all existing login from a different source. If collision is detected, we skip the ldap record. By short circuiting at the CWUser entity insertion level we also avoid to treat CWGroup and EmailAddress related to this user. Hence ensuring a behaviour that will not break existing instances. (conservative approach: faced with ambiguity better do nothing than guess). An error message is added stating explicitly the conflict.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11216
efecb78bf929 update and enhance pylintrc
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 0
diff changeset
     1
[MASTER]
efecb78bf929 update and enhance pylintrc
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 0
diff changeset
     2
load-plugins=cubicweb.pylintext
11219
0796b6191cea [pylint] more work on the pylint support
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11216
diff changeset
     3
ignore=__pkginfo__
11216
efecb78bf929 update and enhance pylintrc
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 0
diff changeset
     4
0
b97547f5f1fa Showtime !
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff changeset
     5
[MESSAGES CONTROL]
11216
efecb78bf929 update and enhance pylintrc
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 0
diff changeset
     6
disable = too-many-ancestors,too-many-instance-attributes,too-many-public-methods,
efecb78bf929 update and enhance pylintrc
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 0
diff changeset
     7
      too-few-public-methods,too-many-arguments,import-error
0
b97547f5f1fa Showtime !
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff changeset
     8
b97547f5f1fa Showtime !
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff changeset
     9
[BASIC]
11219
0796b6191cea [pylint] more work on the pylint support
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11216
diff changeset
    10
function-rgx = [a-z_][a-z0-9_]{2,35}$
11216
efecb78bf929 update and enhance pylintrc
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 0
diff changeset
    11
good-names=w,_
0
b97547f5f1fa Showtime !
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff changeset
    12
b97547f5f1fa Showtime !
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff changeset
    13
[TYPECHECK]
b97547f5f1fa Showtime !
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff changeset
    14
generated-members=debug,info,notice,warning,error,critical,exception
11216
efecb78bf929 update and enhance pylintrc
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 0
diff changeset
    15
efecb78bf929 update and enhance pylintrc
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 0
diff changeset
    16
[CLASSES]
efecb78bf929 update and enhance pylintrc
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 0
diff changeset
    17
exclude-protected=_cw,_cnx,
efecb78bf929 update and enhance pylintrc
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 0
diff changeset
    18
      # namedtuple public API.
efecb78bf929 update and enhance pylintrc
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 0
diff changeset
    19
      _asdict,_fields,_replace,_source,_make
efecb78bf929 update and enhance pylintrc
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 0
diff changeset
    20
efecb78bf929 update and enhance pylintrc
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 0
diff changeset
    21
efecb78bf929 update and enhance pylintrc
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 0
diff changeset
    22
[FORMAT]
efecb78bf929 update and enhance pylintrc
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 0
diff changeset
    23
max-line-length=100
efecb78bf929 update and enhance pylintrc
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 0
diff changeset
    24
max-module-lines=2000