summaryrefslogtreecommitdiff
path: root/bucky2/cgi-bin/poetaster
blob: 29bbe3b24c42c632a6ed8a6635b372160b363304 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
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__
	}