From 7321b99c6b8c2264416aa8d884e9d6475e39c322 Mon Sep 17 00:00:00 2001 From: Juerd Waalboer Date: Tue, 26 Feb 2013 23:05:37 +0100 Subject: [PATCH] New plugin: market Hackerspace members sell their surplus components, space profits. --- plugins/market | 35 +++++++++++++++++++++++++++++++++++ revbank.market | 5 +++++ revbank.plugins | 1 + 3 files changed, 41 insertions(+) create mode 100755 plugins/market create mode 100644 revbank.market diff --git a/plugins/market b/plugins/market new file mode 100755 index 0000000..9045fff --- /dev/null +++ b/plugins/market @@ -0,0 +1,35 @@ +#!perl + +HELP "market" => "Edit market list"; + +my $filename = 'revbank.market'; + +sub command :Tab(market) { + my ($self, $cart, $command) = @_; + + if ($command eq 'market') { + system $ENV{EDITOR} || 'vi', $filename; + return ACCEPT; + } + + my @products; + + open my $fh, '<', $filename or die $!; + /\S/ && !/^\s*#/ and push @products, [split " ", $_, 5] while readline $fh; + chomp @$_ for @products; + + for my $fields (@products) { + my ($username, $id, $seller, $space, $description) = @$fields; + + next if $command ne $id; + next if $space < 0; + next if $seller < 0; + + $cart->add(undef, -($seller + $space), $description); + $cart->add($username, 0+$seller, "\$you bought $description") + if 0+$seller; + return ACCEPT; + } + + return NEXT; +} diff --git a/revbank.market b/revbank.market new file mode 100644 index 0000000..34bb477 --- /dev/null +++ b/revbank.market @@ -0,0 +1,5 @@ +# Price = +# Seller Barcode Seller + Space Description + +Juerd sku81873 6.00 2.00 Cijfertjes/ledjes/knopjes-module + diff --git a/revbank.plugins b/revbank.plugins index 69170c7..9b405a5 100644 --- a/revbank.plugins +++ b/revbank.plugins @@ -14,6 +14,7 @@ take # Then, plugins that apply heuristics products # matches product IDs (barcodes) +market # also matches product IDs withdraw # matches amounts users # matches usernames deposit # wants to be after 'users'