diff options
-rw-r--r-- | app/models/incoming_message.rb | 16 | ||||
-rw-r--r-- | lib/mail_handler/backends/mail_backend.rb | 7 | ||||
-rw-r--r-- | lib/mail_handler/backends/tmail_backend.rb | 10 |
3 files changed, 20 insertions, 13 deletions
diff --git a/app/models/incoming_message.rb b/app/models/incoming_message.rb index e933343cc..96d439b0b 100644 --- a/app/models/incoming_message.rb +++ b/app/models/incoming_message.rb @@ -207,7 +207,7 @@ class IncomingMessage < ActiveRecord::Base _count_parts_recursive(p) end else - part_filename = TMail::Mail.get_part_file_name(part) + part_filename = MailHandler.get_part_file_name(part) begin if part.content_type == 'message/rfc822' # An email attached as text @@ -458,16 +458,6 @@ class IncomingMessage < ActiveRecord::Base return text end - # Internal function - def _get_part_file_name(mail) - part_file_name = TMail::Mail.get_part_file_name(mail) - if part_file_name.nil? - return nil - end - part_file_name = part_file_name.dup - return part_file_name - end - # (This risks losing info if the unchosen alternative is the only one to contain # useful info, but let's worry about that another time) def get_attachment_leaves @@ -519,7 +509,7 @@ class IncomingMessage < ActiveRecord::Base end # PDFs often come with this mime type, fix it up for view code if curr_mail.content_type == 'application/octet-stream' - part_file_name = self._get_part_file_name(curr_mail) + part_file_name = MailHandler.get_part_file_name(curr_mail) calc_mime = AlaveteliFileTypes.filename_and_content_to_mimetype(part_file_name, curr_mail.body) if calc_mime curr_mail.content_type = calc_mime @@ -799,7 +789,7 @@ class IncomingMessage < ActiveRecord::Base attachment = self.foi_attachments.find_or_create_by_hexdigest(:hexdigest => hexdigest) attachment.update_attributes(:url_part_number => leaf.url_part_number, :content_type => leaf.content_type, - :filename => _get_part_file_name(leaf), + :filename => MailHandler.get_part_file_name(leaf), :charset => leaf.charset, :within_rfc822_subject => within_rfc822_subject, :body => body) diff --git a/lib/mail_handler/backends/mail_backend.rb b/lib/mail_handler/backends/mail_backend.rb index a6f2a6a44..fd2fa627f 100644 --- a/lib/mail_handler/backends/mail_backend.rb +++ b/lib/mail_handler/backends/mail_backend.rb @@ -22,6 +22,13 @@ module MailHandler main.ready_to_send! main end + + # Return a copy of the file name for the mail part + def get_part_file_name(mail_part) + part_file_name = mail_part.filename + part_file_name.nil? ? nil : part_file_name.dup + end + end end end
\ No newline at end of file diff --git a/lib/mail_handler/backends/tmail_backend.rb b/lib/mail_handler/backends/tmail_backend.rb index 4daa5469f..0fa90a657 100644 --- a/lib/mail_handler/backends/tmail_backend.rb +++ b/lib/mail_handler/backends/tmail_backend.rb @@ -31,6 +31,16 @@ module MailHandler main end + # Return a copy of the file name for the mail part + def get_part_file_name(mail_part) + part_file_name = TMail::Mail.get_part_file_name(mail_part) + if part_file_name.nil? + return nil + end + part_file_name = part_file_name.dup + return part_file_name + end + end end end
\ No newline at end of file |