(self, params, enterprise_data, **kwargs)
| 403 | entities.extend(to_keep) |
| 404 | |
| 405 | def parse(self, params, enterprise_data, **kwargs): # type: (KeeperParams, proto.EnterpriseData, dict) -> None |
| 406 | entities = self.get_entities(params) |
| 407 | entity_map = { |
| 408 | '{0}:{1}'.format(self.get_keeper_entity1_id(x), self.get_keeper_entity2_id(x)): x for x in entities |
| 409 | } |
| 410 | entity_type = self.get_entity_type() |
| 411 | for entityData in enterprise_data.data: |
| 412 | entity = entity_type() |
| 413 | entity.ParseFromString(entityData) |
| 414 | entity1_id = self.get_proto_entity1_id(entity) |
| 415 | entity2_id = self.get_proto_entity2_id(entity) |
| 416 | key = '{0}:{1}'.format(entity1_id, entity2_id) |
| 417 | if enterprise_data.delete: |
| 418 | if key in entity_map: |
| 419 | entity_map.pop(key) |
| 420 | else: |
| 421 | keeper_entity = entity_map.get(key) |
| 422 | if not keeper_entity: |
| 423 | keeper_entity = {} |
| 424 | entity_map[key] = keeper_entity |
| 425 | self.to_keeper_entity(entity, keeper_entity) |
| 426 | |
| 427 | entities.clear() |
| 428 | entities.extend(entity_map.values()) |
| 429 | |
| 430 | def get_entities(self, params, create_if_absent=True): # type: (KeeperParams, bool) -> Optional[List] |
| 431 | name = self.get_keeper_entity_name() |
no test coverage detected