X-Git-Url: https://git.distorted.org.uk/~mdw/odin-cgi/blobdiff_plain/cc346ee1adf852ba0f4322bc04a78ec64206d37a..969db1ef94e92c88afaa35b683918b2bf33b87f0:/bin/pastebin.userv diff --git a/bin/pastebin.userv b/bin/pastebin.userv index fb3b740..c9936ed 100755 --- a/bin/pastebin.userv +++ b/bin/pastebin.userv @@ -32,11 +32,21 @@ Commands available: del TAG ... get TAG help + langs list new [-l LANG] [-t TITLE] rekey TAG update [-c] [-l LANG] [-t TITLE] TAG EOF +} elsif ($op eq "langs") { + @ARGV == 0 or Odin::fail "usage: list"; + my $db = Odin::open_db; + for my $r (@{$db->selectall_arrayref + ("SELECT lang, descr FROM odin_pastebin_lang + ORDER BY lang", undef)}) { + my ($lang, $descr) = @$r; + Odin::print_columns $lang => 16, $descr => 0; + } } elsif ($op eq "list") { @ARGV == 0 or Odin::fail "usage: list"; my $db = Odin::open_db; @@ -60,15 +70,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; @@ -97,8 +100,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 {