+ for header in gopts.remove_headers:
+ del msg[header]
+
+ for header in gopts.remove_all_params:
+ value = msg[header]
+ if value is None: # No such header
+ continue
+ if ';' not in value: # There are no parameters
+ continue
+ del msg[header] # Delete all such headers
+ # Get the value without parameters and set it back
+ msg[header] = value.split(';')[0].strip()
+
+ for header, param in gopts.remove_header_params:
+ msg.del_param(param, header)
+
+ for header_list in gopts.decode_headers:
+ header_list = header_list.split(',')
+ if header_list[0] == '*': # Decode all headers except listed
+ header_list = [h[1:].lower() for h in header_list[1:] if h[0]=='-']
+ for header in msg.keys():
+ if header.lower() not in header_list:
+ decode_header(msg, header)
+ else: # Decode listed hiders
+ for header in header_list:
+ decode_header(msg, header)