diff options
| author | Jules Laplace <carbon@melanarchy.org> | 2013-08-02 17:23:25 -0500 |
|---|---|---|
| committer | Jules Laplace <carbon@melanarchy.org> | 2013-08-02 17:23:25 -0500 |
| commit | e76b691e78e273226cba9284cb8cd22a423319ed (patch) | |
| tree | a58d22f69869fe2bf3885f81bdda4952f87ff6d7 /bucky2/cgi-bin/poetaster | |
| parent | 753f60c7d4769fa72d3b910e491f37db6f130898 (diff) | |
bucky2
Diffstat (limited to 'bucky2/cgi-bin/poetaster')
| -rwxr-xr-x | bucky2/cgi-bin/poetaster | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/bucky2/cgi-bin/poetaster b/bucky2/cgi-bin/poetaster new file mode 100755 index 0000000..29bbe3b --- /dev/null +++ b/bucky2/cgi-bin/poetaster @@ -0,0 +1,105 @@ +#!/usr/bin/perl +use lib "../lib"; +use Rest; +use Bucky::Session; +use Poetaster; + +my $session = new Bucky::Session; +my $q = $session->param('q'); +my $id = $session->param('id'); + +if ($id) + { + print header(); + print cache_get($id); + print form(); + print footer(); + } +elsif ($q) + { + print header(); + print poetast($q); + print form(); + print footer(); + } +else + { + print header(); + print form(); + print footer(); + } + +sub poetast + { + my ($q) = @_; + my $data; + if ($q =~ /^http/) + { + $data = Rest->new->rest_get_raw($q); + } + else + { + $data = $q; + } + $data =~ s/<(\/)?(b|i|strong|em)>/[$1$2]/g; + $data =~ s/<[^>]+>//g; + $data =~ s/\[/</g; + $data =~ s/\]/>/g; + $data =~ s/[\r\n]+/ /g; + $data =~ s/\s+/ /g; + $data =~ s/\. \. \. /... /g; + my $self = new Poetaster; + my $poem = $self->poem($data); + print "<pre>$poem</pre>"; + print sprintf("%0.1f kb", (length($poem)/1024)); + print "<br>"; + return; + } +sub poetast_cache_set + { + my ($data) = @_; + my $id; + return $id; + } +sub poetast_cache_get + { + my ($id) = @_; + my $data; + return $data; + } +sub header + { + my ($title) = @_; + if ($title) { $title = "Poetaster: $title" } + else { $title = "Poetaster"; } + return <<__HEADER__; +Content-type: text/html +Pragma: no-cache + +<html> +<head> +<title>Poetaster</title> +<link href="/css/poetaster.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="container"> +__HEADER__ + } +sub form + { + return <<__FORM__; +Enter text or a URL: +<form method="post"> +<textarea name="q"></textarea><br> +<input type="submit" value="Poetaste!"> +</form> +__FORM__ + } +sub footer + { + return <<__FOOTER__; +</div> +</body> +</html> +__FOOTER__ + } |
