[Rt-commit] [svn] r729 - in rt/trunk: . lib/RT lib/RT/Interface

jesse at pallas.eruditorum.org jesse at pallas.eruditorum.org
Thu Apr 22 02:20:20 EDT 2004


Author: jesse
Date: Thu Apr 22 02:20:20 2004
New Revision: 729

Modified:
   rt/trunk/   (props changed)
   rt/trunk/lib/RT/EmailParser.pm
   rt/trunk/lib/RT/Interface/Email.pm
   rt/trunk/lib/RT/Template_Overlay.pm
Log:
 ----------------------------------------------------------------------
 r2138 at tinbook:  jesse | 2004-04-22T06:19:33.419238Z
 
 Clean up temporary files better
 ----------------------------------------------------------------------
 

Modified: rt/trunk/lib/RT/EmailParser.pm
==============================================================================
--- rt/trunk/lib/RT/EmailParser.pm	(original)
+++ rt/trunk/lib/RT/EmailParser.pm	Thu Apr 22 02:20:20 2004
@@ -592,10 +592,10 @@
 sub _SetupMIMEParser {
     my $self = shift;
     my $parser = shift;
-    my $AttachmentDir = File::Temp::tempdir( TMPDIR => 1, CLEANUP => 1 );
+     $self->{'AttachmentDir'} ||= File::Temp::tempdir( TMPDIR => 1, CLEANUP => 1 );
 
     # Set up output directory for files:
-    $parser->output_dir("$AttachmentDir");
+    $parser->output_dir($self->{'AttachmentDir'});
     $parser->filer->ignore_filename(1);
 
 
@@ -611,8 +611,16 @@
 
     $parser->output_to_core(0);
 }
+
 # }}}
 
+sub DESTROY {
+    my $self = shift;
+    File::Path::rmtree([$self->{'AttachmentDir'}],0,1);
+}
+
+
+
 eval "require RT::EmailParser_Vendor";
 die $@ if ($@ && $@ !~ qr{^Can't locate RT/EmailParser_Vendor.pm});
 eval "require RT::EmailParser_Local";

Modified: rt/trunk/lib/RT/Interface/Email.pm
==============================================================================
--- rt/trunk/lib/RT/Interface/Email.pm	(original)
+++ rt/trunk/lib/RT/Interface/Email.pm	Thu Apr 22 02:20:20 2004
@@ -429,7 +429,7 @@
 
         if ( -f $temp_file ) {
             $parser->ParseMIMEEntityFromFile($temp_file);
-            File::Temp::unlink0( $fh, $temp_file );
+            unlink( $temp_file );
             if ($parser->Entity) {
                 delete $args{'message'};
             }

Modified: rt/trunk/lib/RT/Template_Overlay.pm
==============================================================================
--- rt/trunk/lib/RT/Template_Overlay.pm	(original)
+++ rt/trunk/lib/RT/Template_Overlay.pm	Thu Apr 22 02:20:20 2004
@@ -318,20 +318,9 @@
 
     my $parser = MIME::Parser->new();
 
-    # Setup output directory for files. from RT::EmailParser::_SetupMIMEParser
-    if ( my $AttachmentDir =
-        eval { File::Temp::tempdir( TMPDIR => 1, CLEANUP => 1 ) } )
-    {
-
-        # Set up output directory for files:
-        $parser->output_dir("$AttachmentDir");
-    }
-    else {
-        $RT::Logger->error("Couldn't write attachments to temp dir on disk. using more memory and processor.");
         # On some situations TMPDIR is non-writable. sad but true.
         $parser->output_to_core(1);
         $parser->tmp_to_core(1);
-    }
 
     #If someone includes a message, don't extract it
     $parser->extract_nested_messages(1);
@@ -415,4 +404,5 @@
 }
 
 # }}}
+
 1;


More information about the Rt-commit mailing list