Coverage for rdgai/mapper.py: 100.00%

18 statements  

« prev     ^ index     » next       coverage.py v7.6.4, created at 2025-01-03 01:37 +0000

1 

2 

3class Mapper(): 

4 def __init__(self): 

5 self.key_to_object = {} 

6 self.object_to_key = {} 

7 

8 def key(self, object): 

9 if object in self.object_to_key: 

10 return self.object_to_key[object] 

11 

12 key = str(object) 

13 # check if key is already in use and if it is, then make unique by adding number 

14 if key in self.key_to_object: 

15 i = 2 

16 while f"{key}_{i}" in self.key_to_object: 

17 i += 1 

18 key = f"{key}_{i}" 

19 

20 self.key_to_object[key] = object 

21 self.object_to_key[object] = key 

22 return key 

23 

24 def obj(self, key): 

25 return self.key_to_object.get(key)