X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/odin-cgi/blobdiff_plain/3300e9a2ef069dcea086ac6e510dd6540cd9fc82..fd83afba2d3ebb14bbacdef2802bc5d415ea3705:/bin/pastebin.userv diff --git a/bin/pastebin.userv b/bin/pastebin.userv index ed7ba7a..42dc66d 100755 --- a/bin/pastebin.userv +++ b/bin/pastebin.userv @@ -6,7 +6,6 @@ use Odin; use DBI; use Encode; use Encode::Locale; -use POSIX; my $BAD = 0; @@ -46,9 +45,8 @@ EOF FROM odin_pastebin WHERE owner = ? ORDER BY stamp", undef, $Odin::WHO)}) { my ($tag, $stamp, $lang, $title) = @$r; - my $t = strftime "%Y-%m-%d %H:%M:%S %z", localtime $stamp; - printf "%-25s %-12s %-16s %s\n", - $t, $tag, $lang, encode locale => $title; + Odin::print_columns Odin::fmt_time $stamp => 25, + $tag => 12, $lang => 16, (encode locale => $title) => 0; } } elsif ($op eq "new") { my $op = Odin::OptParse->new(@ARGV); @@ -62,15 +60,8 @@ EOF $op->bad if @ARGV; $op->ok or Odin::fail "usage: new [-l LANG] [-t TITLE]"; $p{content} = read_content; - my $db = Odin::open_db; - my $c = ""; - while (read STDIN, my $buf, 8192) { $c .= $buf; } - $p{content} = read_content; - @{$db->selectall_arrayref - ("SELECT lang FROM odin_pastebin_lang WHERE lang = ?", undef, $p{lang})} - or Odin::fail "unknown language `$p{lang}'"; my ($tag, $edit) = Odin::new_pastebin %p; - print "$Odin::PASTEBIN/$url $edit\n"; + print "$Odin::PASTEBIN/$tag $edit\n"; } elsif ($op eq "get") { @ARGV == 1 or Odin::fail "usage: get TAG"; my ($tag) = @ARGV; @@ -99,8 +90,9 @@ EOF else { $op->unk; } } @ARGV = $op->rest; - $op->bad if @ARGV; - $op->ok or Odin::fail "usage: new [-l LANG] [-t TITLE]"; + $op->bad if @ARGV != 1; + $op->ok or Odin::fail "usage: update [-c] [-l LANG] [-t TITLE] TAG"; + my $tag = shift @ARGV; $p{content} = read_content if $contentp; Odin::update_pastebin $tag, undef, %p or Odin::fail "nothing changed"; } else {