adding PINES utility scripts
authorChris Sharp <csharp@georgialibraries.org>
Fri, 4 Nov 2011 16:45:19 +0000 (12:45 -0400)
committerChris Sharp <csharp@georgialibraries.org>
Mon, 28 Nov 2011 19:37:52 +0000 (14:37 -0500)
Open-ILS/examples/pines-examples/utility-server/scripts/circ_notices.sh [new file with mode: 0755]
Open-ILS/examples/pines-examples/utility-server/scripts/circ_notices_overdue_nomail.sh [new file with mode: 0755]
Open-ILS/examples/pines-examples/utility-server/scripts/gen_blocked_list.sh [new file with mode: 0755]
Open-ILS/examples/pines-examples/utility-server/scripts/ums/run-calls.pl [new file with mode: 0755]

diff --git a/Open-ILS/examples/pines-examples/utility-server/scripts/circ_notices.sh b/Open-ILS/examples/pines-examples/utility-server/scripts/circ_notices.sh
new file mode 100755 (executable)
index 0000000..de3b6f1
--- /dev/null
@@ -0,0 +1,49 @@
+#!/bin/bash
+# ---------------------------------------------------------------
+# This file runs the overdue generation script.
+# If today is Monday, it runs the script for Sat/Sun/Mon, 
+# otherwise it runs once per day.
+# ---------------------------------------------------------------
+
+DATE=$(date +%Y-%m-%d);
+DAY=$(date +%u);
+XML_FILE="/openils/var/data/overdue/overdue.$DATE.xml";
+EMAIL_FILE="/openils/var/data/overdue/combined_email.$DATE.txt";
+PREMAIL_FILE="/openils/var/data/overdue/predue_email.$DATE.txt";
+REMOTE_HOST="sftp.example.com:files/"
+
+[ $(whoami) != "opensrf" ] && echo "Must be run as opensrf" && exit 1;
+source /etc/profile;
+
+cd /openils/bin/
+
+ARGS="0"
+
+# PREDUES + EMAIL
+./generate_circ_notices.pl --osrf_config /openils/conf/opensrf_core.xml --notice-types predue --use-email-outfile $PREMAIL_FILE --send-email --days-back $ARGS;
+
+[ $DAY == 6 -o $DAY == 7 ] && exit 0; # don't run overdues on saturday or sunday
+if [ $DAY == 1 ]; then ARGS="0,1,2"; fi; # If today is monday, run for sat/sun/mon
+
+# ALL, NO EMAIL
+#./generate_circ_notices.pl --osrf_config /openils/conf/opensrf_core.xml --notice-types overdue,predue --use-email-outfile $EMAIL_FILE --generate-global-templates --days-back $ARGS > $XML_FILE;
+
+# OVERDUES, NO EMAIL
+#./generate_circ_notices.pl --osrf_config /openils/conf/opensrf_core.xml --notice-types overdue --use-email-outfile /dev/null --generate-global-templates --days-back $ARGS > $XML_FILE;
+
+# ALL + EMAIL
+#./generate_circ_notices.pl --osrf_config /openils/conf/opensrf_core.xml --notice-types overdue,predue --use-email-outfile $EMAIL_FILE --generate-global-templates --send-email --days-back $ARGS > $XML_FILE;
+
+
+# --- overdues first, then predues
+
+# OVERDUES + EMAIL
+#./generate_circ_notices.pl --osrf_config /openils/conf/opensrf_core.xml --notice-types overdue --use-email-outfile $EMAIL_FILE --generate-global-templates --send-email --days-back $ARGS > $XML_FILE;
+./generate_circ_notices.pl --osrf_config /openils/conf/opensrf_core.xml --notice-types overdue --use-email-outfile $EMAIL_FILE --generate-global-templates --days-back $ARGS > $XML_FILE;
+
+# PREDUES + EMAIL
+#./generate_circ_notices.pl --osrf_config /openils/conf/opensrf_core.xml --notice-types predue --use-email-outfile $EMAIL_FILE --send-email --days-back $ARGS;
+
+#scp $XML_FILE home.unique-mgmt.com:~/
+scp $XML_FILE $REMOTE_HOST 
+
diff --git a/Open-ILS/examples/pines-examples/utility-server/scripts/circ_notices_overdue_nomail.sh b/Open-ILS/examples/pines-examples/utility-server/scripts/circ_notices_overdue_nomail.sh
new file mode 100755 (executable)
index 0000000..e66bd1e
--- /dev/null
@@ -0,0 +1,25 @@
+#!/bin/bash
+# ---------------------------------------------------------------
+# This file runs the overdue generation script.
+# If today is Monday, it runs the script for Sat/Sun/Mon, 
+# otherwise it runs once per day.
+# ---------------------------------------------------------------
+
+DATE=$(date +%Y-%m-%d);
+DAY=$(date +%u);
+XML_FILE="/openils/var/data/overdue/overdue.$DATE.xml";
+EMAIL_FILE="/openils/var/data/overdue/combined_email.$DATE.txt";
+
+[ $(whoami) != "opensrf" ] && echo "Must be run as opensrf" && exit 1;
+source /etc/profile;
+
+ARGS="0"
+[ $DAY == 6 -o $DAY == 7 ] && exit 0; # don't run on saturday or sunday
+if [ $DAY == 1 ]; then ARGS="0,1,2"; fi; # If today is monday, run for sat/sun/mon
+
+cd /openils/bin/
+
+# OVERDUES, NO EMAIL
+./generate_circ_notices.pl --osrf_config /openils/conf/opensrf_core.xml --notice-types overdue --generate-global-templates --days-back $ARGS > $XML_FILE;
+
+scp $XML_FILE home.unique-mgmt.com:~/
diff --git a/Open-ILS/examples/pines-examples/utility-server/scripts/gen_blocked_list.sh b/Open-ILS/examples/pines-examples/utility-server/scripts/gen_blocked_list.sh
new file mode 100755 (executable)
index 0000000..be99fc2
--- /dev/null
@@ -0,0 +1,17 @@
+#!/bin/bash
+
+. /etc/profile
+cd /home/opensrf/scripts;\
+
+DATE=$(date +%Y-%m-%d);
+FILE="/openils/var/data/offline/blocked/patron-blocked-list.$DATE.txt"
+HOSTNAME="private.utility01.gapines.org"
+HEADS="'10.1.0.201' '10.1.0.202' '10.1.0.203' '10.1.0.204' '10.1.0.205' '10.1.0.206'"
+
+
+#/openils/bin/offline-blocked-list.pl /home/opensrf/.srfsh.xml srfsh  > $FILE
+/openils/bin/offline-blocked-list.pl --hostname $HOSTNAME --barcodes L --barcodes B --barcodes D > $FILE
+
+for host in $HEADS; do
+    scp "$FILE" "opensrf@$host:/openils/var/web/standalone/list.txt";
+done;
diff --git a/Open-ILS/examples/pines-examples/utility-server/scripts/ums/run-calls.pl b/Open-ILS/examples/pines-examples/utility-server/scripts/ums/run-calls.pl
new file mode 100755 (executable)
index 0000000..c29d03e
--- /dev/null
@@ -0,0 +1,31 @@
+#!/usr/bin/perl
+use strict; use warnings;
+use OpenSRF::AppSession;
+use OpenSRF::System;
+use OpenSRF::Utils::JSON;
+require '/home/opensrf/current/Open-ILS/src/support-scripts/oils_header.pl';
+use vars qw/$authtoken/;
+
+my $days_back = 15;
+my $fine_limit = '4.99';
+my $method = 'open-ils.collections.users_of_interest.retrieve';
+
+
+die "usage: $0 <config> <username> <password> <lib>" unless $ARGV[3];
+osrf_connect($ARGV[0]);
+oils_login($ARGV[1], $ARGV[2]);
+my $lib = $ARGV[3];
+
+my $ses = OpenSRF::AppSession->create('open-ils.collections');
+my $req = $ses->request($method, $authtoken, $days_back, $fine_limit, $lib);
+my @data;
+
+while(my $resp = $req->recv(timeout=>7200)) {
+       push(@data, $resp->content);    
+}
+
+open(F, ">data-$lib");
+print F OpenSRF::Utils::JSON->perl2JSON(\@data);
+close(F);
+
+