Changeset 623
- Timestamp:
- 03/21/07 14:30:51 (6 years ago)
- Files:
-
- 2 modified
-
grabbers/oztivo (modified) (5 diffs)
-
status (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
grabbers/oztivo
r622 r623 3 3 # OzTivo grabber 4 4 5 my $version = '0.2 1';5 my $version = '0.22'; 6 6 7 7 # Requires configuration! … … 401 401 { 402 402 # Is Sydney in DST? 403 my $sydney_dst = compare_sydney_dst( $local_dst);403 my $sydney_dst = compare_sydney_dst(); 404 404 POSIX::tzset(); 405 405 … … 407 407 { 408 408 my $offset = ' +0100'; 409 print "DST in Sydney but not here: adding 1 hour to ABC2 times" .409 print "DST in Sydney but not here: adding 1hr to ABC2 times" . 410 410 ($sydney_dst != 1 ? ($sydney_dst > 1 ? 411 " from $sydney_dst " :412 " until " . ($sydney_dst*-1) ) : '') .411 " from $sydney_dst GMT" : 412 " until " . ($sydney_dst*-1) . ' GMT') : '') . 413 413 ".\n"; 414 414 $data =~ s/(?!=")(\d+)(?=".* channel="ABC2")/$1.add_offset($1,$sydney_dst)/ge; … … 436 436 # Returns: 437 437 # 0 : Sydney is not in DST in the next 7 days 438 # <n> : Sydney is in DST from <n>, where n is (eg) 200703210300 439 # <-n> : Sydney is in DST until <n>, where n is (eg) -200703210300 438 # 1 : Sydney is in DST for the next 7 days 439 # <n> : Sydney is in DST from <n> GMT, where n is (eg) 20070321030000 440 # <-n> : Sydney is in DST until <n> GMT, where n is (eg) -20070321030000 440 441 sub compare_sydney_dst 441 442 { 442 my $local_dst = shift;443 444 443 local %ENV; 445 444 $ENV{TZ} = 'Australia/Sydney'; … … 447 446 my $sydney_dst = (localtime)[8]; 448 447 449 return $sydney_dst if ($sydney_dst == $local_dst); 450 448 # Normalize $start to 3AM Sydney time, or 2AM if it's in DST 451 449 my $start = time - (time % (60*60*24)) - (($sydney_dst ? 11 : 10) * 60*60) + (3*60*60); 450 451 # Check Sydney's DST status each day for 7 days 452 452 for (my $day = 0; $day < 7; $day++) 453 453 { 454 454 my $t = $start + ($day * 24*60*60); 455 455 my $dst_thisday = (localtime($t))[8]; 456 457 # Any changeover? 456 458 if ($dst_thisday != $sydney_dst) 457 459 { 460 # Convert $t to GMT 461 $t -= (($sydney_dst ? 11 : 10) * 60*60); 458 462 my $changeoverday = POSIX::strftime("%Y%m%d%H%M%S", localtime($t)); 459 463 $changeoverday *= -1 if ($sydney_dst); -
status
r622 r623 5 5 grabber abc2_website 2.11 6 6 grabber sbsnews_website 0.11 7 grabber oztivo 0.2 17 grabber oztivo 0.22 8 8 grabber jrobbo 0.08 9 9 grabber ninemsn 0.14
