def _main (cmd) : msg_base_dirs = cmd.msg_base_dirs or PMA.msg_base_dirs directory = cmd.directory if directory and not directory.endswith (sos.sep) : directory = directory + sos.sep c_type = cmd.content_type def_ext = cmd.extension_default ignore = cmd.ignore or None name_pat = cmd.name_pat or None parts = cmd.Parts s_type = cmd.sub_type if not cmd.regexp : if c_type : c_type = re.escape (c_type) if s_type : s_type = re.escape (s_type) c_type = Re_Filter (c_type) if c_type else _is_false s_type = Re_Filter (s_type) if s_type else _is_false ignore = Re_Filter (ignore) if ignore else _is_false name_pat = Re_Filter (name_pat) if name_pat else _is_false for msg in PMA.messages_from_args (cmd.argv, msg_base_dirs) : print (msg.path) extract_mime_attachements \ (msg, directory, def_ext, ignore, c_type, name_pat, parts, s_type)
def message_from_arg (cmd, arg) : try : return first (PMA.messages_from_args ([arg], cmd.msg_base_dirs)) except LookupError : raise SystemExit (1)