diff options
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/ansi2html | 20 | ||||
-rwxr-xr-x | scripts/mimetype | 38 |
2 files changed, 58 insertions, 0 deletions
diff --git a/scripts/ansi2html b/scripts/ansi2html new file mode 100755 index 000000000..e33e24630 --- /dev/null +++ b/scripts/ansi2html @@ -0,0 +1,20 @@ +#!/usr/bin/perl +use strict; +use HTML::FromANSI (); + +my $h = HTML::FromANSI->new( + fill_cols => 0, + font_face => "", + style => "", + tt => 0 +); + +open IN, "<", $ARGV[0] or die "cannot read $ARGV[0]: $!"; + +$h->add_text(<IN>); +my $html = $h->html; +$html =~ s/background: black; //g; +$html =~ s/color: white; /color: black /g; +$html =~ s/<br>/\n/g; + +print $html; diff --git a/scripts/mimetype b/scripts/mimetype new file mode 100755 index 000000000..1d89d6922 --- /dev/null +++ b/scripts/mimetype @@ -0,0 +1,38 @@ +#!/usr/bin/perl +use warnings; +use strict; +use File::MimeInfo qw(mimetype globs); + +exit 1 unless @ARGV == 2; + +my $filename = $ARGV[0]; +my $file = $ARGV[1]; +my $type = ""; +my $file_type = ""; + +exit 1 unless -f $file; + +$type = globs($filename); + +# globbing takes priority over all other +if (!$type) { + $type = mimetype($file); + if ($type eq "application/octet-stream") { + # application/octet-stream normally means the detection failed + # use the output of file in this case + $file_type = `file -b --mime-type $file`; + chomp $file_type; + $type = $file_type; + if ($type eq "text/plain") { + # detect ascii with color codes + $file_type = `file -b $file`; + chomp $file_type; + if ($file_type eq "ASCII text, with escape sequences") { + $type = "text/plain-ascii"; + } + } + } +} + +print "$type\n"; + |