X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=OSX%2Fupdate-info-plist.pl;h=3f39bd09df1aeeea554d9f3c5865cf0d3515a2e1;hb=5f1f12f2a37da634000f96d18d59cc73a8814ef7;hp=16a2bed0a444e00433f1a40710c39fec64b4e1ee;hpb=6b1c86cf395f59389e4ece4ea8f4bea2c332745b;p=xscreensaver diff --git a/OSX/update-info-plist.pl b/OSX/update-info-plist.pl index 16a2bed0..3f39bd09 100755 --- a/OSX/update-info-plist.pl +++ b/OSX/update-info-plist.pl @@ -1,5 +1,5 @@ #!/usr/bin/perl -w -# Copyright © 2006-2008 Jamie Zawinski +# Copyright © 2006-2009 Jamie Zawinski # # Permission to use, copy, modify, distribute, and sell this software and its # documentation for any purpose is hereby granted without fee, provided that @@ -23,7 +23,7 @@ require 5; use strict; my $progname = $0; $progname =~ s@.*/@@g; -my $version = q{ $Revision: 1.7 $ }; $version =~ s/^[^0-9]+([0-9.]+).*$/$1/; +my $version = q{ $Revision: 1.13 $ }; $version =~ s/^[^0-9]+([0-9.]+).*$/$1/; my $verbose = 1; @@ -72,17 +72,19 @@ sub update_saver_xml($$) { $desc =~ s/\s*$//s; # in case it's done already... + $desc =~ s@@@gs; $desc =~ s/^.* version \d[^\n]*\n//s; $desc =~ s/^From the XScreenSaver.*\n//m; $desc =~ s@^http://www\.jwz\.org/xscreensaver.*\n@@m; - $desc =~ s/^Copyright [^ \r\n\t]+ (\d{4})(-\d{4})? (.*)\.$/Written $3; $1./m; + $desc =~ + s/\nCopyright [^ \r\n\t]+ (\d{4})(-\d{4})? (.*)\.$/\nWritten $3; $1./s; $desc =~ s/^\n+//s; error ("$filename: description contains bad characters") if ($desc =~ m/([^\t\n -~]|[<>])/); error ("$filename: can't extract authors") - unless ($desc =~ m@^(.*)\nWritten by[ \t]+([^\n]+)$@s); + unless ($desc =~ m@^(.*)\nWritten by[ \t]+(.+)$@s); $desc = $1; my $authors = $2; $desc =~ s/\s*$//s; @@ -93,6 +95,7 @@ sub update_saver_xml($$) { $year = $2; } + error ("$filename: can't extract year") unless $year; my $cyear = 1900 + ((localtime())[5]); $year = "$cyear" unless $year; if ($year && ! ($year =~ m/$cyear/)) { @@ -106,24 +109,22 @@ sub update_saver_xml($$) { # my $curator = "Jamie Zawinski"; if (! ($authors =~ m/$curator/si)) { - if ($authors =~ m@^(.*),? and (.*)$@s) { + if ($authors =~ m@^(.*?),? and (.*)$@s) { $authors = "$1, $2, and $curator"; } else { $authors .= " and $curator"; } } - my $cc = "\302\251"; # unicode "©" - - my $desc1 = ("$name, version $vers.\n\n" . + my $desc1 = ("$name, version $vers.\n\n" . # savername.xml $desc . "\n" . "\n" . - "From the XScreenSaver collection:\n" . + "From the XScreenSaver collection: " . "http://www.jwz.org/xscreensaver/\n" . "Copyright \251 $year by $authors.\n"); - my $desc2 = ("$name $vers,\n" . - "$cc $year $authors.\n" . + my $desc2 = ("$name $vers,\n" . # Info.plist + "\302\251 $year $authors.\n" . "From the XScreenSaver collection:\n" . "http://www.jwz.org/xscreensaver/\n" . "\n" . @@ -216,6 +217,11 @@ sub update($) { my $copyright = "$1"; $copyright =~ s/\b\d{4}-(\d{4})\b/$1/; + # Lose the Wikipedia URLs. + $info_str =~ s@http:.*?\b(wikipedia|mathworld)\b[^\s]+[ \t]*\n?@@gm; + + $info_str =~ s/(\n\n)\n+/$1/gs; + $info_str =~ s/(^\s+|\s+$)//gs; $plist = set_plist_key ($filename, $plist, "NSHumanReadableCopyright", $copyright); $plist = set_plist_key ($filename, $plist,