voxforge.org
VoxForge Dev

Changeset 2209

Show
Ignore:
Timestamp:
05/19/07 23:24:59 (2 years ago)
Author:
kmaclean
Message:

updates to UserSubmission?.pm - fix to filename suffix processing

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • Trunk/Scripts/Audio_scripts/UserSubmission.pm

    r2200 r2209  
    2424package UserSubmission; 
    2525use strict; 
     26use File::Basename; 
    2627use Audio::Wav; 
    2728# internal modules perlmod  
     
    6162                #my($audio_dir_name, $suffix) =split(/\./, $tarfile); 
    6263                #($AudioDirParms {"audio_dir_name"}, $AudioDirParms {"suffix1"} , $AudioDirParms {"suffix2"}) = split(/\./, $tarfile); 
    63                 my @tarfile = split(/\./, $tarfile); 
    64                 $AudioDirParms {"suffix2"} = pop(@tarfile); 
    65                 $AudioDirParms {"suffix1"} = pop(@tarfile);              
    66                 $AudioDirParms {"audio_dir_name"} = "@tarfile"; # assumes there are no other periods in the file name! 
    67                 if (!defined($AudioDirParms {"suffix1"})) {$AudioDirParms {"suffix1"}=""}; 
    68                 if (!defined($AudioDirParms {"suffix2"})) {$AudioDirParms {"suffix2"}=""};       
    69                 if ($AudioDirParms {"suffix2"} eq "tgz") { # assumes a VoxForgeIVR submissions 
    70                         $AudioDirParms {"audio_dir_name"} = $AudioDirParms {"audio_dir_name"} . "\." . $AudioDirParms {"suffix1"}; 
    71                         $AudioDirParms {"suffix1"} = ""; 
    72                         }  
    73                 my $audio_dir_name = $AudioDirParms {"audio_dir_name"}; 
     64                my @suffixlist = ("tar", "tgz", "tar\.gz"); 
     65                my ($audio_dir_name,$path); 
     66                ($audio_dir_name,$path,$AudioDirParms {"suffix"}) = fileparse($tarfile,@suffixlist); 
     67                $audio_dir_name =~ s/\.//; 
     68                $AudioDirParms {"audio_dir_name"} = $audio_dir_name;  
     69                 
     70                #my @tarfile = split(/\./, $tarfile); 
     71                #$AudioDirParms {"suffix2"} = pop(@tarfile); 
     72                #$AudioDirParms {"suffix1"} = pop(@tarfile);             
     73                #$AudioDirParms {"audio_dir_name"} = "@tarfile"; # assumes there are no other periods in the file name! 
     74                #if (!defined($AudioDirParms {"suffix1"})) {$AudioDirParms {"suffix1"}=""}; 
     75                #if (!defined($AudioDirParms {"suffix2"})) {$AudioDirParms {"suffix2"}=""};      
     76                #if (($AudioDirParms {"suffix2"} eq "tgz") and ($AudioDirParms {"suffix1"})) { # assumes a VoxForgeIVR submissions 
     77                #       $AudioDirParms {"audio_dir_name"} = $AudioDirParms {"audio_dir_name"} . "\." . $AudioDirParms {"suffix1"}; 
     78                #       $AudioDirParms {"suffix1"} = ""; 
     79                #       }  
     80                #my $audio_dir_name = $AudioDirParms {"audio_dir_name"}; 
    7481                # !!!!!! 
    7582                $command = ("rm -rf $QuarantineDir/$audio_dir_name");  print "$command\n" if $debug; system($command); # remove ToBeProcessed directory - if it exists 
     
    135142                chomp ($line); 
    136143                if ($line ne "." and $line ne ".." ) { 
    137                         my($filename, $suffix1, $suffix2) =split(/\./, $line); 
    138                         if (defined($suffix1)) {} else {$suffix1=""}; 
    139                         if (defined($suffix2)) {} else {$suffix2=""}; 
    140                         if (    ($suffix1 eq "zip") or ($suffix1  eq "tgz") or (($suffix1  eq "tar") and ($suffix2  eq "gz")) or ($suffix2  eq "tgz")) { 
     144                        # !!!!!! 
     145                        my @suffixlist = ("tar", "tgz", "tar\.gz"); 
     146                        my ($filename,$path,$suffix) = fileparse($line,@suffixlist); 
     147 
     148                        #my($filename, $suffix1, $suffix2) =split(/\./, $line); 
     149                        #if (defined($suffix1)) {} else {$suffix1=""}; 
     150                        #if (defined($suffix2)) {} else {$suffix2=""}; 
     151                        # !!!!!! 
     152                         
     153                        if (($suffix eq "zip") or ($suffix  eq "tgz") or ($suffix  eq "tar\.gz") ) { 
    141154                                push @tarlist,$line; 
    142                         } elsif ($suffix1 eq "" ) {  
     155                        } elsif ($suffix eq "" ) {  
    143156                                print "UserSubValidation:$filename: is likely a directory name ... skipping\n"; 
    144157                        } else {                 
     
    158171                 
    159172                my $filename = $$AudioDirParms {"audio_dir_name"}; 
    160                 my $suffix1 =  $$AudioDirParms {"suffix1"}; 
    161                 my $suffix2 = $$AudioDirParms {"suffix2"}; 
     173                my $suffix =  $$AudioDirParms {"suffix"}; 
     174 
    162175                 
    163176        my (@clamscan_output, $clamscan_results); 
     
    165178        print "\nRunning ClamAV and Unzipping/Untarring $tarfile\n";     
    166179        # !!!!!! 
    167         #my($filename, $suffix1, $suffix2) =split(/\./, $tarfile); 
    168         #if (defined($suffix1)) {} else {$suffix1=""}; 
    169         #if (defined($suffix2)) {} else {$suffix2=""};   
    170         #if ($suffix2 eq "tgz") {$filename = $filename . "\.$suffix1"} # for VoxForgeIVR submissions 
    171         # !!!!!! 
    172         print "\nfilename:$filename; suffix1:$suffix1; suffix2:$suffix2:\n" if $debug; 
    173         if ($suffix1 eq "zip" ) { 
     180        print "\nfilename:$filename; suffix:$suffix\n" if $debug; 
     181        if ($suffix eq "zip" ) { 
    174182                $command = ("clamscan --unzip $QuarantineDir/$tarfile"); print "$command\n"; @clamscan_output = `$command`; if ($?) {die "system $command failed: $?"; }; 
    175183                        my @temp = split (" ", $clamscan_output[0]); 
     
    187195                } 
    188196                 
    189         } elsif         (($suffix1 eq "tgz") or ($suffix1 eq "tar" and $suffix2 eq "gz") or ($suffix2 eq "tgz")) { 
     197        } elsif         (($suffix eq "tgz") or ($suffix eq "tar\.gz")) { 
    190198                #$command = ("clamscan --tgz $QuarantineDir/$tarfile"); print "$command\n"; system($command) == 0 or die "system $command failed: $?";  
    191199                $command = ("clamscan --tgz $QuarantineDir/$tarfile"); print "$command\n" if $debug; @clamscan_output = `$command`; if ($?) {die "system $command failed: $?"; }; 
     
    203211 
    204212                # tar --strip-components=number  Strip given number of leading components from file names before extraction; but you need to know directory levels beforehand! 
    205                 # ugly hack to flatten directory structure ...
     213                # therefore need an ugly hack to flatten directory structure ... and here it is
    206214                if ($debug) { 
    207215                        $command = ("mkdir $QuarantineDir/temp"); print "$command\n"; print "$command\n";system($command);