(self)
| 17 | |
| 18 | # Load all user from data/users.json |
| 19 | def load(self): |
| 20 | if not self.users: |
| 21 | self.users = {} |
| 22 | |
| 23 | user_found = [] |
| 24 | added = 0 |
| 25 | s = time.time() |
| 26 | # Load new users |
| 27 | try: |
| 28 | json_path = "%s/users.json" % config.data_dir |
| 29 | data = json.load(open(json_path)) |
| 30 | except Exception as err: |
| 31 | raise Exception("Unable to load %s: %s" % (json_path, err)) |
| 32 | |
| 33 | for master_address, data in list(data.items()): |
| 34 | if master_address not in self.users: |
| 35 | user = User(master_address, data=data) |
| 36 | self.users[master_address] = user |
| 37 | added += 1 |
| 38 | user_found.append(master_address) |
| 39 | |
| 40 | # Remove deleted adresses |
| 41 | for master_address in list(self.users.keys()): |
| 42 | if master_address not in user_found: |
| 43 | del(self.users[master_address]) |
| 44 | self.log.debug("Removed user: %s" % master_address) |
| 45 | |
| 46 | if added: |
| 47 | self.log.debug("Added %s users in %.3fs" % (added, time.time() - s)) |
| 48 | |
| 49 | # Create new user |
| 50 | # Return: User |
no test coverage detected