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__
}
|