From f1c5e2e3b569bc0e5e7235f0c3b11cfadb4f2855 Mon Sep 17 00:00:00 2001 From: yo mama Date: Sun, 19 Apr 2015 20:31:35 -0700 Subject: added the old translate irssi to ascii script --- translate_irssi_to_ascii.pl | 98 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100755 translate_irssi_to_ascii.pl diff --git a/translate_irssi_to_ascii.pl b/translate_irssi_to_ascii.pl new file mode 100755 index 0000000..1957e6c --- /dev/null +++ b/translate_irssi_to_ascii.pl @@ -0,0 +1,98 @@ +#!/usr/bin/perl + +if (scalar(@ARGV) < 1){ + usage(); +} + +my $infile = $ARGV[0]; + +sub usage{ + print STDERR "USAGE: $0 [infile]\n"; + exit(1); +} + +my $line = do { + local $/ = undef; + open my $fh, "<", $infile + or die "could not open $file: $!"; + <$fh>; +}; + + + +my $meat = ($line =~ /"(.*)"/g)[0]; + my $mirc = + { + '0' => 'white', + '1' => 'black', + '2' => 'blue', + '3' => 'green', + '4' => 'red', + '5' => 'brown', + '6' => 'purple', + '7' => 'orange', + '8' => 'yellow', + '9' => 'light green', + '10' => 'teal', + '11' => 'light cyan', + '12' => 'light blue', + '13' => 'pink', + '14' => 'gray', + '15' => 'light gray', + }; + my $term_background = + { + 'white' => '107', + 'black' => '40', + 'blue' => '44', + 'green' => '42', + 'red' => '41', + 'brown' => '101', #light yellow + 'purple' => '45', + 'orange' => '101', + 'yellow' => '43', + 'light green' => '102', + 'teal' => '46', + 'light cyan' => '106', + 'light blue' => '104', + 'pink' => '105', + 'gray' => '100', + 'light gray' => '47', + }; + my $term_foreground = + { + 'white' => '97', + 'black' => '30', + 'blue' => '34', + 'green' => '32', + 'red' => '31', + 'brown' => '93', #light yellow + 'purple' => '35', + 'orange' => '91', + 'yellow' => '33', + 'light green' => '92', + 'teal' => '36', + 'light cyan' => '96', + 'light blue' => '94', + 'pink' => '95', + 'gray' => '90', + 'light gray' => '37', + }; + +sub process_string { + my $fg_code = process_foreground($_[0]); + my $bg_code = process_background($_[1]); + my $content = $_[2]; + return sprintf("\033[1;%s;%sm%s\033[0m", $fg_code, $bg_code, $content) +} +sub process_foreground{ + my $num = shift; + return $term_foreground->{$mirc->{$num}}; +} +sub process_background{ + my $num = shift; + return $term_background->{$mirc->{$num}}; +} +my @parts = map { $_ =~ s/\\n/\n/g; $_ } map { $_ =~ s/^(\d+),(\d+)(.*)/process_string($1, $2, $3)/e; $_; } split(/\\x03/, $meat); + +print join('', @parts); -- cgit v1.2.3-70-g09d2