(self, params, enterprise_data, **kwargs)
| 377 | entities.extend(to_keep) |
| 378 | |
| 379 | def parse(self, params, enterprise_data, **kwargs): # type: (KeeperParams, proto.EnterpriseData, dict) -> None |
| 380 | entities = self.get_entities(params) |
| 381 | entity_map = { |
| 382 | '{0}:{1}'.format(self.get_keeper_entity1_id(x), self.get_keeper_entity2_id(x)): x for x in entities |
| 383 | } |
| 384 | entity_type = self.get_entity_type() |
| 385 | for entityData in enterprise_data.data: |
| 386 | entity = entity_type() |
| 387 | entity.ParseFromString(entityData) |
| 388 | entity1_id = self.get_proto_entity1_id(entity) |
| 389 | entity2_id = self.get_proto_entity2_id(entity) |
| 390 | key = '{0}:{1}'.format(entity1_id, entity2_id) |
| 391 | if enterprise_data.delete: |
| 392 | if key in entity_map: |
| 393 | entity_map.pop(key) |
| 394 | else: |
| 395 | keeper_entity = entity_map.get(key) |
| 396 | if not keeper_entity: |
| 397 | keeper_entity = {} |
| 398 | entity_map[key] = keeper_entity |
| 399 | self.to_keeper_entity(entity, keeper_entity) |
| 400 | |
| 401 | entities.clear() |
| 402 | entities.extend(entity_map.values()) |
| 403 | |
| 404 | def get_entities(self, params, create_if_absent=True): # type: (KeeperParams, bool) -> Optional[List] |
| 405 | name = self.get_keeper_entity_name() |
no test coverage detected