def set_tagged_object_names(tag_name, name_prefix, start_index=1): ''' Given a tag name, set the Name property of each object given the name prefix and number. For example: Prefix 'Router', yields names 'Router 1', 'Router 2', 'Router 3'. ''' obj_list = tag_utils.get_tagged_objects_from_string_names([tag_name]) for idx, obj in enumerate(obj_list, start=start_index): obj.Set('Name', '{}{}'.format(name_prefix, idx))
def process_inputs_for_objects(hnd_list, tag_name_list, obj_class): obj_dict = {} # Process tag objects if len(tag_name_list) > 0: tagged_obj_list = tag_utils.get_tagged_objects_from_string_names( tag_name_list, remove_duplicates=True, class_name=obj_class) obj_dict = {obj.GetObjectHandle(): obj for obj in tagged_obj_list} # Process handles obj_list = CCommandEx.ProcessInputHandleVec(obj_class, hnd_list) for obj in obj_list: if obj is None: continue obj_dict[obj.GetObjectHandle()] = obj return obj_dict.values()
def get_obj_list_from_handles_and_tags(ObjectHandleList, ObjectTagNameList): plLogger = PLLogger.GetLogger("methodology") obj_list = [] hnd_reg = CHandleRegistry.Instance() # Get objects from handle list for hnd in ObjectHandleList: obj = hnd_reg.Find(int(hnd)) if not obj: err_str = "Invalid object with handle " + str(int(hnd)) plLogger.LogError(err_str) return {} obj_list.append(obj) # Get objects from tag list tagged_things = tag_utils.get_tagged_objects_from_string_names( ObjectTagNameList) obj_list = obj_list + tagged_things # Sort by handle and remove duplicates obj_list = sort_obj_list_by_handle(obj_list) return obj_list