octoprint_auth_ldap.group.LDAPGroup.__init__()   A
last analyzed

Complexity

Conditions 1

Size

Total Lines 27
Code Lines 24

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 24
nop 11
dl 0
loc 27
rs 9.304
c 0
b 0
f 0

How to fix   Many Parameters   

Many Parameters

Methods with many parameters are not only hard to understand, but their parameters also often become inconsistent when you need more, or different data.

There are several approaches to avoid long parameter lists:

1
# coding=utf-8
2
from __future__ import absolute_import
3
4
from octoprint.access.groups import Group
5
6
7
class LDAPGroup(Group):
8
    GROUP_TYPE = "LDAP"
9
10
    def __init__(
11
            self,
12
            key,
13
            name,
14
            description="",
15
            permissions=None,
16
            subgroups=None,
17
            default=False,
18
            removable=True,
19
            changeable=True,
20
            toggleable=True,
21
            dn=None
22
    ):
23
        Group.__init__(
24
            self,
25
            key=key,
26
            name=name,
27
            description=description,
28
            permissions=permissions,
29
            subgroups=subgroups,
30
            default=default,
31
            removable=removable,
32
            changeable=changeable,
33
            toggleable=toggleable
34
        )
35
        # TODO validate distinguished name
36
        self._dn = dn
37
38
    @property
39
    def distinguished_name(self):
40
        return self._dn
41