
Undoes 714b337
because github seems to no longer require chmod +x
for syntax highlighting extensionless files.
48 lines
1.3 KiB
Perl
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() };
|
|
}
|