Projet

Général

Profil

0036-misc-fix-dangerous-default-value-pylint-error-56982.patch

Valentin Deniaud, 21 septembre 2021 17:09

Télécharger (6,51 ko)

Voir les différences:

Subject: [PATCH 36/59] misc: fix dangerous-default-value pylint error (#56982)

 src/authentic2/idp/saml/common.py |  7 ++++---
 src/authentic2/saml/common.py     |  9 +++++----
 src/authentic2/saml/fields.py     |  3 ++-
 src/authentic2/saml/models.py     |  3 ++-
 src/authentic2/utils/misc.py      | 12 ++++++++----
 src/authentic2/utils/template.py  |  6 +++---
 6 files changed, 24 insertions(+), 16 deletions(-)
src/authentic2/idp/saml/common.py
23 23
from django.utils.http import urlencode
24 24

  
25 25

  
26
def redirect_to_login(next_url, login_url=None, redirect_field_name=REDIRECT_FIELD_NAME, other_keys={}):
26
def redirect_to_login(next_url, login_url=None, redirect_field_name=REDIRECT_FIELD_NAME, other_keys=None):
27 27
    "Redirects the user to the login page, passing the given 'next' page"
28 28
    if not login_url:
29 29
        login_url = settings.LOGIN_URL
30 30
    data = {redirect_field_name: next_url}
31
    for k, v in other_keys.items():
32
        data[k] = v
31
    if other_keys:
32
        for k, v in other_keys.items():
33
            data[k] = v
33 34
    return HttpResponseRedirect('%s?%s' % (login_url, urlencode(data)))
34 35

  
35 36

  
src/authentic2/saml/common.py
101 101
all_bindings = asynchronous_bindings + [lasso.SAML2_METADATA_BINDING_SOAP]
102 102

  
103 103

  
104
def get_saml2_metadata(request, idp_map=None, sp_map=None, options={}):
104
def get_saml2_metadata(request, idp_map=None, sp_map=None, options=None):
105 105
    metagen = saml2utils.Saml2Metadata(get_entity_id(request), url_prefix=get_base_path(request))
106 106
    if idp_map:
107
        metagen.add_idp_descriptor(idp_map, options)
107
        metagen.add_idp_descriptor(idp_map, options or {})
108 108
    if sp_map:
109
        metagen.add_sp_descriptor(sp_map, options)
109
        metagen.add_sp_descriptor(sp_map, options or {})
110 110
    return str(metagen)
111 111

  
112 112

  
113
def create_saml2_server(request, idp_map=None, sp_map=None, options={}):
113
def create_saml2_server(request, idp_map=None, sp_map=None, options=None):
114 114
    '''Create a lasso Server object for using with a profile'''
115
    options = options or {}
115 116
    if app_settings.ADD_CERTIFICATE_TO_KEY_INFO:
116 117
        certificate_content = options.get('key')
117 118
    else:
src/authentic2/saml/fields.py
196 196
        super().contribute_to_class(cls, name)
197 197
        if self.choices:
198 198

  
199
            def func(self, fieldname=name, choicedict=dict(self.choices)):
199
            def func(self, fieldname=name, choicedict=None):
200
                choicedict = choicedict or dict(self.choices)
200 201
                return ",".join([choicedict.get(value, value) for value in getattr(self, fieldname)])
201 202

  
202 203
            setattr(cls, 'get_%s_display' % self.name, func)
src/authentic2/saml/models.py
57 57
        return -1
58 58

  
59 59

  
60
def get_prefered_content(etrees, languages=[None, 'en']):
60
def get_prefered_content(etrees, languages=None):
61 61
    """Sort XML nodes by their xml:lang attribute using languages as the
62 62
    ascending partial order of language identifiers
63 63

  
64 64
       Default is to prefer english, then no lang declaration, to anything
65 65
       else.
66 66
    """
67
    languages = languages or [None, 'en']
67 68
    best = None
68 69
    best_score = -1
69 70
    for tree in etrees:
src/authentic2/utils/misc.py
280 280
def make_url(
281 281
    to,
282 282
    args=(),
283
    kwargs={},
283
    kwargs=None,
284 284
    keep_params=False,
285 285
    params=None,
286 286
    append=None,
......
303 303
    the parameter was appended, it's just ignored.
304 304
    """
305 305
    if resolve:
306
        kwargs = kwargs or {}
306 307
        url = resolve_url(to, *args, **kwargs)
307 308
    else:
308 309
        url = to
......
360 361
    request,
361 362
    to,
362 363
    args=(),
363
    kwargs={},
364
    kwargs=None,
364 365
    keep_params=False,
365 366
    params=None,
366 367
    append=None,
......
904 905
    from_email=None,
905 906
    next_url=None,
906 907
    context=None,
907
    legacy_subject_templates=['registration/password_reset_subject.txt'],
908
    legacy_body_templates=['registration/password_reset_email.html'],
908
    legacy_subject_templates=None,
909
    legacy_body_templates=None,
909 910
    set_random_password=True,
910 911
    sign_next_url=True,
911 912
    **kwargs,
912 913
):
913 914
    from .. import middleware
914 915

  
916
    legacy_subject_templates = legacy_subject_templates or ['registration/password_reset_subject.txt']
917
    legacy_body_templates = legacy_body_templates or ['registration/password_reset_email.html']
918

  
915 919
    if not user.email:
916 920
        raise ValueError('user must have an email')
917 921
    logger = logging.getLogger(__name__)
src/authentic2/utils/template.py
34 34
            if self.raises:
35 35
                raise TemplateError(_('template syntax error: %s') % e)
36 36

  
37
    def render(self, context={}):
37
    def render(self, context=None):
38 38
        if not hasattr(self, 'template'):
39 39
            # oops, silent error during initialization, let's get outta here
40 40
            return force_str(self.value)
41 41
        try:
42
            rendered = self.template.render(context)
42
            rendered = self.template.render(context or {})
43 43
        except TemplateSyntaxError as e:
44 44
            if self.raises:
45 45
                raise TemplateError(_('template syntax error: %s') % e)
......
50 50
            return force_str(self.value)
51 51
        return force_str(rendered)
52 52

  
53
    def null_render(self, context={}):
53
    def null_render(self, context=None):
54 54
        return str(self.value)
55
-