Diff for /db/prgsrc/updatedb.pl between versions 1.9 and 1.10

version 1.9, 2000/10/20 00:39:27 version 1.10, 2000/10/20 01:45:46
Line 64  sub getField { Line 64  sub getField {
     my($key);      my($key);
     my($value) = ('');      my($value) = ('');
     while (<$desc>) {      while (<$desc>) {
         s/ //;          s/ //g;
         if ($key && /^\s*$/) {          if ($key && /^\s*$/) {
             chomp $value;              chomp $value;
             chomp $key;              chomp $key;
Line 78  sub getField { Line 78  sub getField {
         }          }
         next if (/^\s*$/);          next if (/^\s*$/);
                   
         if (/^(.*)[:\.]\s*$/ && !$key) {          if (/^(.*)[:\.][\s]*$/ && !$key) {
             $key = $1;              $key = $1;
             next;              next;
         }          }
Line 139  sub UpdateQuestion { Line 139  sub UpdateQuestion {
 }  }
   
 sub CheckFile {  sub CheckFile {
     my ($dbh, $source,$title) = @_;      my ($dbh, $source, $title) = @_;
     my $sth = $dbh->prepare("SELECT Id,ParentId,QuestionsNum FROM Tournaments      my $sth = $dbh->prepare("SELECT Id,ParentId,QuestionsNum FROM Tournaments
                              WHERE FileName=$source AND Type='Ч'");                               WHERE FileName=$source AND Type='Ч'");
     $sth->execute or die $dbh->errstr;      $sth->execute or die $dbh->errstr;
Line 148  sub CheckFile { Line 148  sub CheckFile {
         return SelectGroup($dbh,$source,$title);          return SelectGroup($dbh,$source,$title);
     }      }
     my($Id,$ParentId,$QuestionsNum)=@arr;      my($Id,$ParentId,$QuestionsNum)=@arr;
     if($QuestionsNum) {      if($QuestionsNum) { 
         print "Файл $source с данными $title уже существует. ",          print "Файл $source с данными $title уже существует. ",
         "Заменить?[y/N]\n";          "Заменить?[y/N]\n";
         my $answer = <STDIN>;          my $answer = <STDIN>;
         if ($answer !~ /^[yY]/) {          if ($answer !~ /^[yY]/) {
             return (0,0);              return (0,0);
         } else {          } else {
             DeleteTournament($dbh,$Id,0);              DeleteTournament($dbh,$Id,$ParentId,$QuestionsNum,0);
         }          }
     }       } 
     return($Id,$ParentId);            return($Id,$ParentId);      
Line 163  sub CheckFile { Line 163  sub CheckFile {
   
   
 sub DeleteTournament {  sub DeleteTournament {
     my ($dbh,$Id,$DeleteMyself) = @_;      my ($dbh,$Id,$ParentId,$QuestionsNum,$DeleteMyself) = @_;
       if ($QuestionsNum) {
           UpdateParents($dbh,$ParentId,-$QuestionsNum);
       }
     my (@Tours) = &GetTours($dbh, $Id);      my (@Tours) = &GetTours($dbh, $Id);
     foreach my $Tour (@Tours) {      foreach my $Tour (@Tours) {
         DeleteTournament($dbh,$Tour,1);          DeleteTournament($dbh,$Tour,1);
Line 219  MAIN: Line 222  MAIN:
         $source =~ s/^.*\/([^\/]*)$/$1/;          $source =~ s/^.*\/([^\/]*)$/$1/;
         $source = $dbh->quote($source);          $source = $dbh->quote($source);
         print STDERR "Файл: $source, дата: $CreatedAt ";          print STDERR "Файл: $source, дата: $CreatedAt ";
           
         while (($key, $value) = getField(\*INFD, $dbh)) {          while (($key, $value) = getField(\*INFD, $dbh)) {
             last if (!$key);              last if (!$key);
                           
             if ($key =~ /Мета/) {              if ($key =~ /Мета/) {
                 next;   # This is obsolete                  next;   # This is obsolete
             }              }
             if ($key =~ /Чемпионат/ || $key =~ /Пакет/) {              if ($key =~ /Чемпионат/ || $key =~ /Пакет/) {               
                 ($TournamentId, $ParentId) = CheckFile($dbh,$source,$value);                  ($TournamentId, $ParentId) = CheckFile($dbh,$source,$value);
                 if (!$TournamentId)  {                  if (!$TournamentId)  {
                     last;                      last;
                 }                  }       
                 $sth = $dbh->prepare("UPDATE Tournaments SET                  $sth = $dbh->prepare("UPDATE Tournaments SET
                                      Title=$value, Type='Ч',                                        Title=$value, Type='Ч', 
                                      ParentId=$ParentId,                                        ParentId=$ParentId, 
                                      FileName=$source,                                        FileName=$source, 
                                      CreatedAt=$CreatedAt                                       CreatedAt=$CreatedAt

Removed from v.1.9  
changed lines
  Added in v.1.10


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>