/[suikacvs]/messaging/suikawari/wari.pl
Suika

Diff of /messaging/suikawari/wari.pl

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2 by wakaba, Sun Jun 16 11:06:45 2002 UTC revision 1.3 by wakaba, Thu Jun 20 11:39:46 2002 UTC
# Line 52  close LOG; Line 52  close LOG;
52  }  }
53    
54  for (@module) {  for (@module) {
55    vprint $_;    dprint $_;
56    my $module = "Suikawari::$_";    my $module = "Suikawari::$_";
57    require "$_.sb";    load_module ($_);
58    my $b = new Bunshin;    my $b = new Bunshin;
59    my @msgreg = $module->msg_regex;    my @msgreg = $module->msg_regex;
60    my @metareg = $module->meta_regex;    my @metareg = $module->meta_regex;
61    $b->set_regex (message => shift (@msgreg));    $b->set_regex (message => shift (@msgreg));
62    $b->set_elements (message => @msgreg);    $b->set_elements (message => @msgreg);
63    $b->set_regex (metainfo => shift (@metareg));    $b->set_regex (metainfo => shift (@metareg)) if @metareg > 0;
64    $b->set_elements (metainfo => @metareg);    $b->set_elements (metainfo => @metareg) if @metareg > 0;
65    my %face = $module->face;    my %face = $module->face;
66    for (keys %face) {    for (keys %face) {
67      $b->default_parameter ($_ => $face{$_});      $b->default_parameter ($_ => $face{$_});
# Line 78  for (@module) { Line 78  for (@module) {
78      my $t = $_->header->field ('date');      my $t = $_->header->field ('date');
79      next if $latest_time >= $t;      next if $latest_time >= $t;
80      $nntp = open_nntp () unless ref $nntp;      $nntp = open_nntp () unless ref $nntp;
81      dprint 'Date: '.$t;      vprint 'Date: '.$t;
82        #dprint 'Subject: '.$_->header->field ('subject');
83      send_msg ($_ => $nntp);      send_msg ($_ => $nntp);
84      $time = $t if $t > $time || !$time;      $time = $t if $t > $time || !$time;
85    }    }
# Line 99  sub send_msg ($$) { Line 100  sub send_msg ($$) {
100    my $r = $nntp->post (@m);    my $r = $nntp->post (@m);
101    vprint ${*$nntp}{'net_cmd_code'}, @{${*$nntp}{'net_cmd_resp'}};    vprint ${*$nntp}{'net_cmd_code'}, @{${*$nntp}{'net_cmd_resp'}};
102    unless ($r) {    unless ($r) {
103      close_nntp ($nntp);      #close_nntp ($nntp);
104      die;      #die;
105        vprint "send_msg: Can't post the message.  Skiped";
106    }    }
107  }  }
108    
# Line 119  sub close_nntp ($) { Line 121  sub close_nntp ($) {
121    vprint ${*$nntp}{'net_cmd_code'}, @{${*$nntp}{'net_cmd_resp'}};    vprint ${*$nntp}{'net_cmd_code'}, @{${*$nntp}{'net_cmd_resp'}};
122  }  }
123    
124    sub load_module ($) {
125      no strict 'refs';
126      my $m = shift;
127      dprint qq{require "$m.sb"};
128      require "$m.sb";
129        if (defined &{ "Suikawari::${m}::require" }) {
130          for (&{ "Suikawari::${m}::require" }) {
131            load_module ($_) unless ${ "Suikawari::${_}::VERSION" };
132            push @{ "Suikawari::${m}::ISA" }, "Suikawari::${_}";
133          }
134        }
135    }
136    
137  sub dprint (@) {  sub dprint (@) {
138    print shift, ' ' if $Bunshin::DEBUG && @_ > 1;    print shift, ' ' if $Bunshin::DEBUG && @_ > 1;
139    print map {/\n$/s? $_: $_."\n"} @_ if $Bunshin::DEBUG;    print map {/\n$/s? $_: $_."\n"} @_ if $Bunshin::DEBUG;

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24