def fix_objact(s, fd, handle, set, **kwargs): ask_flag = kwargs.get('Ask',True) if not check_fd_sel(fd, set): return for obj_act in set['ObjAct']: if not obj_act['Action']: pass if Match.parse(obj_act['Criteria'], fd): if obj_act['Action']['Action'] == 'SetOwner': nu = DCC.prop_get(s, obj_act['Action']['Owner'], InfoSet = 'User') print('??? Change Owner from [', fd['owner-userid'], ',', fd['owner-username'], '] to [', nu['owner-userid'], ',', nu['owner-username'], ']', sep = '', end = '') if ask_flag == False or MyUtil.get_yn(': (Y/N)? '): DCC.change_owner(s, handle, obj_act['Action']['Owner']) elif obj_act['Action']['Action'] == 'AddKeyword': print('??? Add Keyword "', obj_act['Action']['Keyword'], '" to "', fd['keywords'].strip(), '"', sep = '', end = '') if ask_flag == False or MyUtil.get_yn(': (Y/N)? '): kw = obj_act['Action']['Keyword'] + fd['keywords'].strip(' ') DCC.set_metadata(s, handle, Keywords = kw) elif obj_act['Action']['Action'] == 'DelKeyword': print('??? Remove Keyword "', obj_act['Action']['Keyword'], '" from "', fd['keywords'], '"', sep = '', end = '') if ask_flag == False or MyUtil.get_yn(': (Y/N)? '): kw = fd['keywords'].strip(' ').replace(obj_act['Action']['Keyword'], '') DCC.set_metadata(s, handle, Keywords = kw) elif obj_act['Action']['Action'] == 'RepTitle': print('??? Change Title to "', obj_act['Action']['Title'], '" from "', fd['title'], '"', sep = '', end = '') if ask_flag == False or MyUtil.get_yn(': (Y/N)? '): DCC.set_metadata(s, handle, Title = obj_act['Action']['Title']) elif obj_act['Action']['Action'] == 'RepTmtNum': print('??? Change TmtNum to "', obj_act['Action']['TmtNum'], '" from "', fd['tmtnum'], '"', sep = '', end = '') if ask_flag == False or MyUtil.get_yn(': (Y/N)? '): DCC.set_metadata(s, handle, Summary = obj_act['Action']['TmtNum']) pass elif obj_act['Action']['Action'] == 'Message': print(obj_act['Action']['Message']) else: print('Error in PERM.fix_objact: ObjAct Action not recognized:', obj_act['Action']['Action'])