X-Git-Url: http://git.xonotic.org/?p=xonotic%2Fxonotic.git;a=blobdiff_plain;f=misc%2Ftools%2Fweapon-profiler-analyzer.pl;h=942cf0cf4903aa963bfb7fbc94eb98093418bebe;hp=bbd7b912ee9d7a83f3693fc50107734612414dee;hb=dee2bf9bd9f453220f9913137cb3d407afcb25f4;hpb=712ab33ff63b5248a8982a720a72f4f0c364c49d diff --git a/misc/tools/weapon-profiler-analyzer.pl b/misc/tools/weapon-profiler-analyzer.pl index bbd7b912..942cf0cf 100755 --- a/misc/tools/weapon-profiler-analyzer.pl +++ b/misc/tools/weapon-profiler-analyzer.pl @@ -234,6 +234,20 @@ sub out_text($@) } } +sub html($) +{ + my ($s) = @_; + $s =~ s/[^-_A-Za-z0-9 ]/&#@{[ord $&]};/g; + return $s; +} + +sub nospace($) +{ + my ($s) = @_; + $s =~ s/ //g; + return $s; +} + sub out_html($@) { my ($event, @data) = @_; @@ -249,13 +263,13 @@ sub out_html($@) $map ||= 'any'; print "

For server $addr type $type map $map

\n"; print "\n"; - printf '', $stats->weaponid_to_model($_), $stats->weaponid_to_name($_) for @columns; + printf '', $stats->weaponid_to_model($_), html $stats->weaponid_to_name($_), html nospace $stats->weaponid_to_name($_) for @columns; print "\n"; } elsif($event eq 'startrow') { my ($row, $val) = @data; - printf '', $stats->weaponid_to_model($row), $stats->weaponid_to_name($row), defined $val ? sprintf("%8.5f", $val) : "N/A"; + printf '', $stats->weaponid_to_model($row), html $stats->weaponid_to_name($row), html nospace $stats->weaponid_to_name($row), defined $val ? sprintf("%8.5f", $val) : "N/A"; } elsif($event eq 'cell') { @@ -302,21 +316,25 @@ sub out_html_cache($@) { # open out file my ($addr, $type, $map, @columns) = @data; - $addr ||= ':any'; - $type ||= ':any'; - $map ||= ':any'; - mkdir "$type"; - mkdir "$type/$map"; - open $out_html_cache_fh, ">", "$type/$map/$addr" - or warn "open $type/$map/$addr: $!"; - select $out_html_cache_fh; + if(!defined $addr) + { + $type ||= ':any'; + $map ||= ':any'; + mkdir "$type"; + open $out_html_cache_fh, ">", "$type/$map" + or warn "open $type/$map: $!"; + select $out_html_cache_fh; + } } - out_html($event, @data); + out_html($event, @data) + if defined $out_html_cache_fh; if($event eq 'endmatrix') { # close out file select STDOUT; - close $out_html_cache_fh; + close $out_html_cache_fh + if defined $out_html_cache_fh; + undef $out_html_cache_fh; } }
WeaponRating%s%s
%s%s
%s%s