injectify.structures   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 23
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 14
dl 0
loc 23
rs 10
c 0
b 0
f 0
wmc 5

1 Method

Rating   Name   Duplication   Size   Complexity  
A listify.__init__() 0 12 5
1
"""This module contains the data structures that power Injectify."""
2
3
from collections import UserList
4
from typing import Sequence
5
6
7
class listify(UserList):
8
    """A ``list``-like object that wraps an object into a list if it is not
9
    a sequence, or converts the object to a list if it is a sequence."""
10
11
    def __init__(self, initlist):
12
        self.data = []
13
14
        if initlist is not None:
15
            if isinstance(initlist, list):
16
                self.data[:] = initlist
17
            elif isinstance(initlist, UserList):
18
                self.data[:] = initlist.data[:]
19
            elif isinstance(initlist, Sequence):
20
                self.data = list(initlist)
21
            else:
22
                self.data.append(initlist)
23