[mythtv-commits] Ticket #2877: Attempt to use guide data when recovering recordings

MythTV mythtv at cvs.mythtv.org
Sat Jan 6 06:03:16 UTC 2007


#2877: Attempt to use guide data when recovering recordings
-------------------------------+--------------------------------------------
 Reporter:  mikal at stillhq.com  |       Owner:  ijr    
     Type:  defect             |      Status:  new    
 Priority:  minor              |   Milestone:  unknown
Component:  mythtv             |     Version:  0.20   
 Severity:  medium             |  
-------------------------------+--------------------------------------------
 While recovering an accidentally deleted MySQL database, I needed to
 modify myth.rebuilddatabase.pl to use guide data if possible to recover
 the title, subtitle and description of shows I didn't have the SQL for any
 more. Here's the patch:

 Index: myth.rebuilddatabase.pl
 ===================================================================
 --- myth.rebuilddatabase.pl     (revision 11681)
 +++ myth.rebuilddatabase.pl     (working copy)
 @@ -185,6 +185,7 @@
                 'norename'=>\$norename
                 );

 +print "db = dbi:mysql:database=$database:host=$dbhost user = $user pass =
 $pass\n";
  my $dbh = DBI->connect("dbi:mysql:database=$database:host=$dbhost",
                 "$user","$pass") or die "Cannot connect to database
 ($!)\n";

 @@ -314,6 +315,7 @@

      # have enough to look for an past recording?
      if ($ssecond) {
 +        print "Checking for a recording...\n";
          $starttime = "$syear$smonth$sday$shour$sminute$ssecond";

          my $guess = "select title, subtitle, description from oldrecorded
 where chanid=(?) and starttime=(?)";
 @@ -333,6 +335,24 @@
          print "End time:   $emonth/$eday/$eyear -
 $ehour:$eminute:$esecond\n";
      }

 +    # what about checking for guide data?
 +    if($guess_description =~ /^Recovered file/) {
 +        print "Checking for guide data...\n";
 +        my $guess = "select title, subtitle, description from program
 where chanid='$channel'".
 +                    " and starttime='$syear-$smonth-$sday
 $shour:$sminute:$ssecond'";
 +        print "$guess\n";
 +        $sth = $dbh->prepare($guess);
 +        $sth->execute()
 +            or die "Could not execute ($guess)\n";
 +
 +        if (my @row = $sth->fetchrow_array) {
 +            $guess_title = $row[0];
 +            $guess_subtitle = $row[1];
 +            $guess_description = $row[2];
 +            print "Using guide data informaton for defaults\n";
 +        }
 +    }
 +
      my $newtitle = $guess_title;
      my $newsubtitle = $guess_subtitle;
      my $newdescription = $guess_description;

-- 
Ticket URL: <http://svn.mythtv.org/trac/ticket/2877>
MythTV <http://www.mythtv.org/>
MythTV


More information about the mythtv-commits mailing list