def parse_stream_pddl(pddl_list, stream_procedures, stream_info={}, unit_costs=False, unit_efforts=False): externals = [] if pddl_list is None: return externals if isinstance(pddl_list, str): pddl_list = [pddl_list] #if all(isinstance(e, External) for e in stream_pddl): # return stream_pddl if stream_procedures != DEBUG: stream_procedures = { k.lower(): v for k, v in stream_procedures.items() } stream_info = {k.lower(): v for k, v in stream_info.items()} rules = [] for pddl in pddl_list: # TODO: check which functions are actually used and prune the rest parse_streams(externals, rules, pddl, stream_procedures, stream_info, use_functions=not unit_costs) apply_rules_to_streams(rules, externals) if unit_efforts: set_unit_efforts(externals) return externals
def parse_stream_pddl(stream_pddl, stream_map, stream_info={}, unit_costs=False, unit_efforts=False): externals = [] if stream_pddl is None: return externals # No streams if isinstance(stream_pddl, str): stream_pddl = [stream_pddl] if all(isinstance(e, External) for e in stream_pddl): return stream_pddl if stream_map != DEBUG: stream_map = {k.lower(): v for k, v in stream_map.items()} stream_info = {k.lower(): v for k, v in stream_info.items()} rules = [] for pddl in stream_pddl: # TODO: check which functions are actually used and prune the rest parse_streams(externals, rules, pddl, stream_map, stream_info, use_functions=not unit_costs) apply_rules_to_streams(rules, externals) if unit_efforts: set_unit_efforts(externals) return externals
def parse_stream_pddl(pddl_list, stream_procedures, stream_info={}, unit_efforts=False): externals = [] if pddl_list is None: return externals if isinstance(pddl_list, str): pddl_list = [pddl_list] #if all(isinstance(e, External) for e in stream_pddl): # return stream_pddl if stream_procedures != DEBUG: stream_procedures = {k.lower(): v for k, v in stream_procedures.items()} stream_info = {k.lower(): v for k, v in stream_info.items()} rules = [] for pddl in pddl_list: parse_streams(externals, rules, pddl, stream_procedures, stream_info) apply_rules_to_streams(rules, externals) set_unit_efforts(externals, unit_efforts) return externals