IdGenerator.__init__()   A
last analyzed

Complexity

Conditions 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
dl 0
loc 4
rs 10
c 1
b 0
f 0
1
2
def set_uid_list(uidList, uid, data):
3
    try:
4
        uidList[uid] = data
5
    except IndexError:
6
        uidList.append(data)
7
8
9
class IdGenerator(object):
10
    def __init__(self):
11
        self.reusableIDs = []
12
        self.allocatedIds = 0
13
        self.idIncrement = 0
14
15
    def gen_id(self):
16
17
        self.allocatedIds += 1
18
        if self.reusableIDs:
19
            uid = self.reusableIDs.pop(0)
20
        else:
21
            self.idIncrement += 1
22
            uid = self.idIncrement
23
24
        return uid
25
26
    def del_id(self, uid):
27
        self.allocatedIds -= 1
28
        self.reusableIDs.append(uid)
29
30