def map_quote(quote: dict) -> dict: instrument_id = parse_instrument_url(quote["instrument"]) plucked = { "instrument_id": instrument_id, **pluck(DESIRED_QUOTE_KEYS, quote) } plucked["updated_at"] = parse_updated_at(plucked["updated_at"]) return plucked
def get_related_data(entity_name: str, context: dict) -> dict: _id, organization_id, assignee_id, submitter_id = utils.pluck( context, ['_id', 'organization_id', "assignee_id", "submitter_id"]) for statement in data_mapper[entity_name]: instance = globals()[statement['entity']] query = locals()[statement['query_key']] prop = statement['prop'] subject = statement['subject'] output_prop = 'subject' if statement['entity'] == 'tickets' else 'name' context[subject] = instance.find(prop, query, output_prop) return context