From 32bf9f399ccf0fc2265043c4399aeaf894a415ff Mon Sep 17 00:00:00 2001 From: "Bradley M. Kuhn" Date: Fri, 11 Mar 2016 12:11:44 -0800 Subject: [PATCH] Simple add-request script to add request from CLI. --- scripts/add-request.plx | 61 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 scripts/add-request.plx diff --git a/scripts/add-request.plx b/scripts/add-request.plx new file mode 100644 index 0000000..35f894a --- /dev/null +++ b/scripts/add-request.plx @@ -0,0 +1,61 @@ +#!/usr/bin/perl + +use strict; +use warnings; + +use DBI; +use Encode qw(encode decode); +use Supporters; + +if (@ARGV != 1 and @ARGV !=2) { + print STDERR "usage: $0 \n"; + exit 1; +} + +my($SUPPORTERS_SQLITE_DB_FILE, $VERBOSE) = @ARGV; +$VERBOSE = 0 if not defined $VERBOSE; + +my $dbh = DBI->connect("dbi:SQLite:dbname=$SUPPORTERS_SQLITE_DB_FILE", "", "", + { RaiseError => 1, sqlite_unicode => 1 }) + or die $DBI::errstr; + +my $sp = new Supporters($dbh, [ "none" ]); + +print "Supporter Id: "; +my $supporterId = ; +chomp $supporterId; + +my @requestTypes = $sp->getRequestType(); +my %requestTypes; +@requestTypes{@requestTypes} = @requestTypes; +my $requestType = ""; +while (not defined $requestTypes{$requestType}) { + print "Request Type (", join(", ", @requestTypes), "): "; + $requestType = ; + chomp $requestType; +} + +my $configs = $sp->getRequestConfigurations($requestType); +die "problematic on configs" if (keys %$configs != 1); +my $requestId = (keys(%$configs)) [0]; + +print "Using request id, $requestId\n"; + +my $requestConfig; +if (scalar keys(%{$configs->{$requestId}}) > 0) { + while (not defined $requestConfig or not defined $configs->{$requestId}{$requestConfig}) { + print "Request Config (", join(", ", keys(%{$configs->{$requestId}})), "): "; + $requestConfig = ; + chomp $requestConfig; + } +} + +if ($requestType) { + my $requestParamaters; + if (defined $requestConfig) { + $requestParamaters = { donorId => $supporterId, requestConfiguration => $requestConfig, requestType => $requestType }; + } else { + $requestParamaters = { donorId => $supporterId, requestType => $requestType }; + } + $sp->addRequest($requestParamaters); +}