]> git.phdru.name Git - mimedecode.git/blobdiff - mimedecode.py
Change option -d to accept a list of headers
[mimedecode.git] / mimedecode.py
index 1e5b18b388dbcb2d6104c12911742181648118fc..82f2d26108a43317f13ef295635b38850713449d 100755 (executable)
@@ -18,7 +18,7 @@ Broytman mimedecode.py version %s, %s
 def usage(code=0, errormsg=''):
     version(0)
     sys.stdout.write("""\
-Usage: %s [-h|--help] [-V|--version] [-cCDP] [-H|--host=hostname] [-f charset] [-d header] [-p header:param] [-r header] [-R header:param] [--remove-params=header] [-beit mask] [-o output_file] [input_file [output_file]]
+Usage: %s [-h|--help] [-V|--version] [-cCDP] [-H|--host=hostname] [-f charset] [-d header1[,header2,header3...]] [-p header:param] [-r header] [-R header:param] [--remove-params=header] [-beit mask] [-o output_file] [input_file [output_file]]
 """ % me)
     if errormsg:
         sys.stderr.write(errormsg + '\n')
@@ -102,18 +102,20 @@ def decode_headers(msg):
 
     for header in gopts.remove_all_params:
         value = msg[header]
-        if value is None:
+        if value is None: # No such header
             continue
-        if ';' not in value:
+        if ';' not in value: # There are no parameters
             continue
-        del msg[header]
+        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 in gopts.decode_headers:
-        decode_header(msg, header)
+    for header_list in gopts.decode_headers:
+        for header in header_list.split(','):
+            decode_header(msg, header)
 
     for header, param in gopts.decode_header_params:
         decode_header_param(msg, header, param)