#NEWLINE# def get_case_footprint_info( domain , owner_id ) : #NEWLINE# #INDENT# "\n    This function is duplicating a lot of functionality in get_footprint/get_related_cases.\n\n    However it is unique in that it:\n      1) starts from an owner_id instead of a base set of cases\n      2) doesn't return full blown case objects but just IDs\n      3) differentiates between the base set and the complete list\n    " #NEWLINE# open_case_ids = set ( CaseAccessors ( domain ) . get_open_case_ids ( owner_id ) ) #NEWLINE# dependent_cases = get_dependent_case_info ( domain , open_case_ids ) #NEWLINE# return FootprintInfo ( base_ids = set ( open_case_ids ) , all_ids = ( domain . all_ids | open_case_ids ) , extension_ids = dependent_cases . extension_ids )