From 0bad40003514ce0e1fab05f3655ecc453d68803a Mon Sep 17 00:00:00 2001 From: Chris Sharp Date: Fri, 4 Nov 2011 12:45:19 -0400 Subject: [PATCH] adding PINES utility scripts --- .../utility-server/scripts/circ_notices.sh | 49 ++++++++++++++++++++++ .../scripts/circ_notices_overdue_nomail.sh | 25 +++++++++++ .../utility-server/scripts/gen_blocked_list.sh | 17 ++++++++ .../utility-server/scripts/ums/run-calls.pl | 31 ++++++++++++++ 4 files changed, 122 insertions(+) create mode 100755 Open-ILS/examples/pines-examples/utility-server/scripts/circ_notices.sh create mode 100755 Open-ILS/examples/pines-examples/utility-server/scripts/circ_notices_overdue_nomail.sh create mode 100755 Open-ILS/examples/pines-examples/utility-server/scripts/gen_blocked_list.sh create mode 100755 Open-ILS/examples/pines-examples/utility-server/scripts/ums/run-calls.pl 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 index 0000000000..de3b6f1369 --- /dev/null +++ b/Open-ILS/examples/pines-examples/utility-server/scripts/circ_notices.sh @@ -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 index 0000000000..e66bd1efff --- /dev/null +++ b/Open-ILS/examples/pines-examples/utility-server/scripts/circ_notices_overdue_nomail.sh @@ -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 index 0000000000..be99fc21d8 --- /dev/null +++ b/Open-ILS/examples/pines-examples/utility-server/scripts/gen_blocked_list.sh @@ -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 index 0000000000..c29d03e569 --- /dev/null +++ b/Open-ILS/examples/pines-examples/utility-server/scripts/ums/run-calls.pl @@ -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 " 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); + + -- 2.11.0