Changeset 187 for tv_grab_au
- Timestamp:
- 11/06/06 18:28:37 (7 years ago)
- Files:
-
- 1 modified
-
tv_grab_au (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
tv_grab_au
r185 r187 1 1 #!/usr/bin/perl -w 2 2 3 my $version = '0.3.1'; 4 5 # tv_grab_au 3 6 # "Shepherd" 4 7 # A wrapper for various Aussie TV guide data grabbers … … 22 25 # (e.g. flag HDTV programmes, augment with IMDb etc.) 23 26 24 my $version = '0.2.32';25 26 27 # Changelog: 27 # 0.1.0 : Basic self-updating and grabber management28 # 0.2.0 : --configure29 # 0.2.1 : Has a home in ~/.shepherd/30 # 0.2.2 : --check31 # 0.2.3 : Bugfix: archives correctly32 # 0.2.5 : Multi-grabber (potentially with partial data)33 # 0.2.6 : Postprocessor support34 # 0.2.7 : Changed online file structure35 # 0.2.8 : Integrated reconciler36 # 0.2.9 : Grabber config support37 # 0.2.10 : Bugfix: don't call postprocessors that aren't ready,38 # rework accept-data-or-not postprocessor logic39 # 0.2.11 : Dedicated external reconciler support40 # 0.2.13 : revert 'alawys run' added in 0.2.12, --setorder bugfix41 # 0.2.14 : Changed online status file format42 # 0.2.15 : Intelli-random grabber ordering now kinda works43 # 0.2.16 : config logic for HD channels44 # 0.2.17 : bugfix timezone bogosities45 # 0.2.18 : care less about missing data in early-morning/overnight46 # care more about missing data in evening/night47 # 0.2.22 : remove ->{order}, order is now set by quality48 # explicitly tell reconciler the preferred _title_ source49 # 0.2.24 : logging and log files50 # 0.2.25 : use open-with-pipe rather than system() and look at51 # return codes from called programmes52 # 0.2.27 : Identify self in useragent when fetching shepherd files53 # 0.2.28 : Changing status file format again54 # 0.2.30 : Run transitional grabber(s) as a once-off to establish preferred55 # title translations.56 28 # 0.2.31 : split tv_grab_au (install/test/upgrade/enable/disable) from 57 # shepherd (grab/reconcile/postprocess) 29 # shepherd (grab/reconcile/postprocess). Previous changelog history 30 # is in shepherd 31 # 0.3.0 : This split deserves a real version bump, Linc! :) 32 # 0.3.1 : honour $option_ready 58 33 59 34 BEGIN { *CORE::GLOBAL::die = \&my_die; } … … 263 238 264 239 my $rdir = ""; 265 my $ldir = $CWD;240 my $ldir = query_ldir($proggy, $progtype); 266 241 267 242 if ($progtype ne "shepherd") { 268 243 $rdir = $progtype . "s"; 269 $ldir = "$CWD/$progtype" . "s/$proggy"; 270 -d ("$CWD/$progtype" . "s") or mkdir ("$CWD/$progtype" . "s") or die "Cannot create directory $CWD/$progtype" . "s: $!"; 244 -d ("$CWD/$progtype" . "s") 245 or mkdir ("$CWD/$progtype" . "s") 246 or die "Cannot create directory $CWD/$progtype" . "s: $!"; 271 247 } 272 248 -d $ldir or mkdir $ldir or die "Cannot create directory $ldir: $!"; … … 308 284 } 309 285 310 my $result = test_proggy($ ldir,"$ldir/$proggy");286 my $result = test_proggy($proggy, $progtype); 311 287 312 288 $components->{$proggy}->{type} = $progtype; … … 346 322 sub test_proggy 347 323 { 348 my ($testdir,$proggyexec) = @_; 349 350 &log("Testing $proggyexec...\n"); 351 352 chdir($testdir); 353 my $result = call_prog("$proggyexec --ready"); 324 my ($proggy, $progtype) = @_; 325 326 &log("Testing $proggy...\n"); 327 328 my $ldir = query_ldir($proggy, $progtype); 329 my $opt_ready = query_config($proggy, 'option_ready'); 330 $opt_ready ||= '--version'; 331 332 chdir($ldir); 333 print "Executing $proggy $opt_ready in $ldir.\n"; 334 my $result = call_prog(query_filename($proggy, $progtype) . " $opt_ready"); 354 335 chdir ($CWD); 355 336 … … 358 339 if ($result) 359 340 { 360 &log("\n Component $proggyexecdid not exit cleanly!\n" .341 &log("\n" . ucfirst($progtype) . " $proggy did not exit cleanly!\n" . 361 342 "It may require configuration.\n\n"); 362 343 } … … 404 385 foreach my $proggy (keys %$components) { 405 386 my $progtype = $components->{$proggy}->{type}; 406 $result = test_proggy( "$CWD/$progtype" . "s/$proggy", "$CWD/$progtype" . "s/$proggy/$proggy");387 $result = test_proggy($proggy, $components->{$proggy}->{type}); 407 388 if (!$result ne !$components->{$proggy}->{ready}) { 408 389 $components->{$proggy}->{ready} = $result; … … 457 438 } 458 439 return $str; 440 } 441 442 sub query_filename 443 { 444 my ($proggy, $progtype) = @_; 445 446 return query_ldir($proggy, $progtype) . "/$proggy"; 447 } 448 449 sub query_ldir 450 { 451 my ($proggy, $progtype) = @_; 452 my $ret = $CWD; 453 $ret .= ('/' . $progtype . "s/$proggy") if ($progtype ne 'shepherd'); 454 return $ret; 459 455 } 460 456
