def __get_service_area(self, userdata): task = copy.deepcopy(userdata.task_spec_trans_in) name = copy.deepcopy(userdata.grasped_object_in) task_man = TaskSpecificationMan(None,None) for place in task.goalsituation.places: if task_man.translate_object_names(name) in place.objects: return place.name
def execute(self, userdata): task = const_hack(userdata.task_spec_trans_io) ts = TaskSpecificationMan('', []) name = ts.translate_object_names(userdata.grasped_objects_in) for place in task.initialsituation.places: print 'name in place.objects: %s in %s' % (name, place.objects) if name in place.objects: place.remove_object(name) print "Removed %s: %s" % (name, place.objects) break for place in task.goalsituation.places: print 'name in place.objects: %s in %s' % (name, place.objects) if name in place.objects: place.remove_object(name) print "Removed %s: %s" % (name, place.objects) break for place in task.initialsituation.places: if len(place.objects) == 0: task.initialsituation.remove_place(place) print "Removed %s: %s" % (place.name, place.objects) for place in task.goalsituation.places: if len(place.objects) == 0: task.goalsituation.remove_place(place) print "Removed %s: %s" % (place.name, place.objects) userdata.task_spec_trans_io = task if len(task.goalsituation.places) == 0: return 'finished' else: return 'Object remaining'