ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/perl/selection-pastebin
(Generate patch)

Comparing rxvt-unicode/src/perl/selection-pastebin (file contents):
Revision 1.15 by root, Wed Jan 25 15:33:43 2006 UTC vs.
Revision 1.19 by root, Sun Jun 10 13:58:06 2012 UTC

1#! perl 1#! perl
2
3#:META:X_RESOURCE:%.cmd:string:the command to run create a new pastebin
4#:META:X_RESOURCE:%.url:string:the url template for new pastebins
2 5
3sub upload_paste { 6sub upload_paste {
4 my ($self) = @_; 7 my ($self) = @_;
5 8
6 require Digest::MD5; 9 require Digest::MD5;
7 10
8 my $txt = $self->selection; 11 my $txt = $self->selection;
12
13 my $filename = $txt;
14 utf8::encode $filename;
9 my $filename = Digest::MD5::md5_hex ($txt) . ".txt"; 15 $filename = Digest::MD5::md5_hex ($filename) . ".txt";
10 16
11 my $tmpfile = "/tmp/$filename"; 17 my $tmpfile = "/tmp/$filename";
12 18
13 my $msg = "uploaded as $filename"; 19 my $msg = "uploaded as $filename";
14 20
21 } 27 }
22 28
23 my $cmd = $self->{pastebin_cmd}; 29 my $cmd = $self->{pastebin_cmd};
24 $cmd =~ s/%/$tmpfile/; 30 $cmd =~ s/%/$tmpfile/;
25 31
26 my $pid = $self->exec_async ("/bin/sh", "-c", $cmd); 32 my $pid = $self->exec_async ($cmd);
27 33
28 $self->{pw} = urxvt::pw->new->start ($pid)->cb (sub { 34 $self->{pw} = urxvt::pw->new->start ($pid)->cb (sub {
29 my (undef, $status) = @_; 35 my (undef, $status) = @_;
30 36
31 delete $self->{pw}; 37 delete $self->{pw};
54} 60}
55 61
56sub on_start { 62sub on_start {
57 my ($self) = @_; 63 my ($self) = @_;
58 64
59 $self->{pastebin_cmd} = $self->x_resource ("selection-pastebin.cmd") 65 $self->{pastebin_cmd} = $self->x_resource ("%.cmd")
60 || "rcp -p % ruth:/var/www/www.ta-sa.org/files/txt/"; 66 || "rcp -p % ruth:/var/www/www.ta-sa.org/files/txt/";
61 67
62 $self->{pastebin_url} = $self->x_resource ("selection-pastebin.url") 68 $self->{pastebin_url} = $self->x_resource ("%.url")
63 || "http://www.ta-sa.org/files/txt/%"; 69 || "http://www.ta-sa.org/files/txt/%";
64 70
65 push @{ $self->{term}{selection_popup_hook} }, sub { 71 push @{ $self->{term}{selection_popup_hook} }, sub {
66 ("pastebin upload" => sub { $self->upload_paste }) 72 ("pastebin upload" => sub { $self->upload_paste })
67 }; 73 };

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines