revbank/plugins/market
Juerd Waalboer fa60e1081a chmod 644 plugins/*
Undoes 714b337 because github seems to no longer require chmod +x
for syntax highlighting extensionless files.
2019-08-07 15:42:16 +02:00

48 lines
1.3 KiB
Perl

#!perl
HELP "market" => "Edit market list";
my $filename = 'revbank.market';
sub _read_market {
open my $fh, '<', $filename or die "$filename: $!";
my %market;
while (readline $fh) {
/^\s*#/ and next;
/\S/ or next;
chomp;
my ($user, $id, $seller, $space, $description) = split " ", $_, 5;
$market{$id} = {
user => $user,
seller => $seller,
space => $space,
description => $description,
};
}
return \%market;
}
sub command :Tab(market,&tab) {
my ($self, $cart, $command) = @_;
if ($command eq 'market') {
system $ENV{EDITOR} || 'vi', $filename;
return ACCEPT;
}
my $product = _read_market->{ $command } or return NEXT;
my $username = parse_user( $product->{ user }) or return NEXT;
my $seller = parse_amount($product->{ seller }) or return NEXT;
my $space = parse_amount($product->{ space }) or return NEXT;
my $description = $product->{description};
$cart->add(undef, -($seller + $space), $description,{product_id=>$command});
$cart->add($username, 0+$seller, "\$you bought $description")
if 0+$seller;
return ACCEPT;
}
sub tab {
return grep /\D/, keys %{ _read_market() };
}