Changeset 211


Ignore:
Timestamp:
01/27/06 21:42:25 (18 years ago)
Author:
thauvin
Message:
  • add function to genrated mail report
Location:
trunk/soft/ObsData
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/soft/ObsData/ObsData.pm

    • Property cvs2svn:cvs-rev changed from 1.55 to 1.56
    r210 r211  
    88use POSIX qw(strftime); 
    99use ObsData::Repository; 
     10use Mail::Sendmail; 
     11use MIME::QuotedPrint; 
    1012 
    1113my @loglevel = ( 
     
    355357} 
    356358 
     359sub generated_reported { 
     360    my ($self) = @_; 
     361    my $result = { 
     362        all => [], 
     363        users => {}, 
     364    }; 
     365 
     366    foreach my $entry (@{$self->{processed_lists}}) { 
     367        my @people = split(/\s*,\s*/, $self->getvalue($entry->{datatype}, 'reportto') || ""); 
     368        @people or next; 
     369        foreach my $p (@people) { 
     370            push(@{$result->{users}{$p}{$entry->{datatype}}}, $entry); 
     371        } 
     372    } 
     373 
     374    foreach my $p (keys(%{$result->{users} || {}})) { 
     375        my %msg = ( 
     376            Subject => 'ObsData Report', 
     377            To => $p, 
     378            'X-ObsData-Version' => $VERSION, 
     379            'Content-Type' => "TEXT/PLAIN;\n  charset=ISO-8859-1", 
     380            'Content-Transfer-Encoding' => 'QUOTED-PRINTABLE', 
     381            From => 'ObsData <robot@aerov.jussieu.fr>', 
     382        ); 
     383        my $message = ""; 
     384        foreach my $d (keys(%{$result->{users}{$p} || {}})) { 
     385            $message .= "\nDataType: $d\n"; 
     386            foreach (@{$result->{users}{$p}{$d} || []}) { 
     387                $message .= sprintf("\tfile %s from %s\n\t=> %s\n", 
     388                    $_->{datafile}, 
     389                    $_->{archive}, 
     390                    $_->{destfile}, 
     391                ); 
     392            } 
     393        } 
     394        sendmail( 
     395            %msg, 
     396            smtp => 'mailhost', 
     397            Message => encode_qp($message), 
     398        ) or $self->log(4, "Cannot send mail to %s: %s", 
     399            $msg{To}, $Mail::Sendmail::error, 
     400        ); 
     401        print "OK. Log says:\n", $Mail::Sendmail::log; 
     402    } 
     403    return $result; 
     404} 
     405 
    3574061; 
    358407 
  • trunk/soft/ObsData/bin/obsdata

    • Property cvs2svn:cvs-rev changed from 1.17 to 1.18
    r179 r211  
    131131} 
    132132 
     133my $s = $obsdata->generated_reported(); 
     134 
     135 
     136 
    133137=head1 AUTHOR 
    134138 
  • trunk/soft/ObsData/testdata/obsdata-conftest

    • Property cvs2svn:cvs-rev changed from 1.9 to 1.10
    r194 r211  
    1717destarg=num num 
    1818dest=%s/dest%s 
     19reportto=nanardon@nanardon.zarb.org 
    1920 
    2021[oxygene] 
     
    2526destarg=%Y arnum $datafile 
    2627dest=%s/dest%s/%s 
     28reportto=thauvin@aerov.jussieu.fr 
Note: See TracChangeset for help on using the changeset viewer.