diff --git a/pbprotracktor b/pbprotracktor
index f838a63..cc48397 100755
--- a/pbprotracktor
+++ b/pbprotracktor
@@ -3,14 +3,18 @@
SCRIPTDIR=$(dirname $(which "${0}"))
SCRIPTNAME=$(basename "${0}")
-if [[ "${SCRIPTDIR}" = "/usr/local/bin" ]] ; then
- VERSION=$(TMP=$(brew info ${SCRIPTNAME} | grep -Eo "/${SCRIPTNAME}/.* \(") ; echo ${TMP:${#SCRIPTNAME}+2:(${#TMP}-${#SCRIPTNAME}-4)})
-else
- VERSION=""
-fi
+VERSION="2020-04-30"
CONF_FILE="${SCRIPTDIR}/pbpro.conf"
+_maketemp(){
+ mktemp -q -t "$(basename "${0}").XXXXXX"
+ if [ "${?}" -ne 0 ]; then
+ echo "${0}: Can't create temp file, exiting..."
+ exit 1
+ fi
+}
+
if [ ! -f "${CONF_FILE}" ] ; then
echo "A configuration file is needed."
echo "Please edit ${CONF_FILE}"
@@ -45,25 +49,88 @@ Usage: ${SCRIPTNAME} [-a] [-c] {file_or_package} | -h
-a return all instantiations per asset, rather than only the called one
-c transform XML output into CSV
-h display this help
+ -s Export a schedule of programming. By default, the export shall be in
+ ical format from a relative date range from one week ago to two
+ months from now.
EOF
}
OPTIND=1
-while getopts ":ach" OPT ; do
+while getopts ":achs" OPT ; do
case "${OPT}" in
a) ALL_INST="Y" ;;
c) CSV="Y" ;;
h) _usage ; exit 0 ;;
+ s) ICAL_EXPORT="Y" ;;
*) echo "bad option -${OPTARG}" ; _usage ; exit 1 ;;
esac
done
shift $(( ${OPTIND} - 1 ))
-if [[ "${#}" = 0 ]] ; then
+if [[ "${#}" = 0 && "${ICAL_EXPORT}" != "Y" ]] ; then
_usage
exit 1
fi
+if [[ "${ICAL_EXPORT}" = "Y" ]] ; then
+ TEMP_TSV="$(_maketemp)"
+ psql -P pager=off -F $'\t' -Ath 10.25.103.11 -U archivesx -d protrack -c "\
+ SELECT
+ ai_serial,
+ TO_CHAR(ai_air_strt_inst,'YYYYMMDD\"T\"HH24MISS'),
+ TO_CHAR(ai_air_einst,'YYYYMMDD\"T\"HH24MISS'),
+ TO_CHAR(air.up_date,'YYYYMMDD\"T\"HH24MISS'),
+ TRIM(quad_tab.ser_pgm_type),
+ CASE WHEN linkinfo.li_material_id IS NOT NULL THEN TRIM(linkinfo.li_material_id) ELSE 'UNASSIGNED' END,
+ CASE WHEN ser_titles.ttl_text IS NOT NULL THEN TRIM(ser_titles.ttl_text) ELSE TRIM(quad_tab.ser_title) END,
+ CASE WHEN epi_titles.ttl_text IS NOT NULL THEN TRIM(epi_titles.ttl_text) ELSE TRIM(quad_tab.pg_title) END
+ FROM air
+ LEFT JOIN airlink ON air.ai_serial = airlink.alk_air_id AND
+ NOT airlink.alk_air_id IS NULL
+ LEFT JOIN quad_tab ON air.ai_vsn_id = quad_tab.vsn_serial AND
+ NOT quad_tab.vsn_serial IS NULL
+ LEFT JOIN linkinfo ON airlink.alk_linkinfo_id = linkinfo.li_serial AND
+ NOT linkinfo.li_serial IS NULL
+ LEFT JOIN titles AS ser_titles ON air.ai_ser_id = ser_titles.ttl_ser_id AND
+ ser_titles.ttl_prog_id = '-1' AND
+ ser_titles.ttl_type = 'AC' AND
+ NOT ser_titles.ttl_ser_id IS NULL
+ LEFT JOIN titles AS epi_titles ON air.ai_ser_id = epi_titles.ttl_ser_id AND
+ epi_titles.ttl_prog_id = air.ai_prog_id AND
+ epi_titles.ttl_type = 'AC' AND
+ NOT epi_titles.ttl_ser_id IS NULL
+ WHERE ai_air_strt_inst > now () - interval '1 week' AND
+ ai_air_strt_inst < now () + interval '2 months'
+ ORDER BY ai_air_strt_inst" > "${TEMP_TSV}"
+cat << ICAL_HEADER
+BEGIN:VCALENDAR
+PRODID:-//Google Inc//Google Calendar 70.9054//EN
+CALSCALE:GREGORIAN
+VERSION:2.0
+X-WR-CALNAME:Protrack Schedule
+X-APPLE-CALENDAR-COLOR:#5c0562
+X-WR-TIMEZONE:America/New_York
+ICAL_HEADER
+
+ while IFS=$'\t' read id start end update category media_id title_1 title_2 ; do
+cat << ICAL_ITEM
+BEGIN:VEVENT
+CREATED;TZID=America/New_York:${update}
+UID:${update}_${id}@protrack_calendar
+SUMMARY:${title_1} (${media_id})
+DESCRIPTION:${title_2}
+LAST-MODIFIED;TZID=America/New_York:${update}
+DTSTAMP;TZID=America/New_York:${update}
+DTSTART;TZID=America/New_York:${start}
+DTEND;TZID=America/New_York:${end}
+END:VEVENT
+ICAL_ITEM
+ done < "${TEMP_TSV}"
+cat << ICAL_FOOTER
+END:VCALENDAR
+ICAL_FOOTER
+ exit
+fi
if [[ "${ALL_INST}" = "Y" ]] ; then
INSTANTIATION_CALL="(SELECT XMLAGG (
XMLELEMENT(NAME \"pbcoreInstantiation\",
diff --git a/prot2rs b/prot2rs
deleted file mode 100755
index feead37..0000000
--- a/prot2rs
+++ /dev/null
@@ -1,281 +0,0 @@
-#!/usr/bin/env bash
-
-SCRIPTDIR="$(dirname "$0")"
-CONF_FILE="${SCRIPTDIR}/pbpro.conf"
-
-# pbcore 2 resourcespace mapping
-# fields below prefixed with 'PBCORE_' will be mapped from PBCore to ResourceSpace
-# it is recommended to set up a display template for these fields in resourcespace like this:
-#
-
-PBCORE_ASSETTYPE_FIELD=85
-PBCORE_TITLE_SERIES_FIELD=86
-PBCORE_ASSETDATE_FIELD=12
-PBCORE_IDENTIFIER_FIELD=98
-PBCORE_TITLE_FIELD=92
-PBCORE_SUBTITLE_FIELD=94
-PBCORE_DESCRIPTION_FIELD=88
-PBCORE_INSTANTIATION_FIELD=97
-PBCORE_COVERAGE_FIELD=103
-PBCORE_CREATOR_FIELD=104
-PBCORE_CONTRIBUTOR_FIELD=105
-PBCORE_PUBLISHER_FIELD=106
-LAST_UPDATED_FIELD=99
-
-_usage(){
- cat <
- old_lc_collate=$LC_COLLATE
- LC_COLLATE=C
- TEXT=$(echo "$1" | sed 's|"|\\\\\\"|g')
- local length="${#1}"
- for (( i = 0; i < length; i++ )); do
- local c="${TEXT:i:1}"
- case $c in
- [a-zA-Z0-9.~_-]) printf "$c" ;;
- *) printf '%%%02X' "'$c" ;;
- esac
- done
- LC_COLLATE=$old_lc_collate
-}
-
-_maketemp(){
- mktemp -q "/tmp/$(basename "${0}").XXXXXX"
- if [ "${?}" -ne 0 ]; then
- echo "${0}: Can't create temp file, exiting..."
- _writeerrorlog "_maketemp" "was unable to create the temp file, so the script had to exit."
- exit 1
- fi
-}
-
-_remove_empty_xml_nodes(){
- xml ed -d '//*[not(./*) and (not(./text()) or normalize-space(./text())="")]'
-}
-
-# resourcespace API functions
-_search(){
- query="user=${user}&function=do_search¶m1=${1}¶m2=¶m3=resourceid¶m4=0"
- sign=$(printf '%s' "${private_key}${query}" | sha256deep)
- curl -# "${api_url}/?$query&sign=${sign}" | jq -r '.[] | select (.field8=="'"${1}"'") | .ref' 2>/dev/null
-}
-
-_search_public_collections(){
- query="user=${user}&function=search_public_collections¶m1=¶m2=ref¶m3=ASC¶m4=false¶m5=false"
- sign=$(printf '%s' "${private_key}${query}" | sha256deep)
- curl -# "${api_url}/?$query&sign=${sign}" | jq -r '.[] | select (.name=="'"${1}"'") | .ref'
-}
-
-_add_resource_to_collection(){
- query="user=${user}&function=add_resource_to_collection¶m1=${1}¶m2=${2}";
- sign=$(printf '%s' "${private_key}${query}" | sha256deep)
- curl -# "${api_url}/?$query&sign=${sign}"
-}
-
-_updatefield(){
- uploadtext=$(echo "${3}" | sed "s|\"|'|g")
- query="user=${user}&function=update_field¶m1=${1}¶m2=${2}¶m3=$(urlencode "${uploadtext}")"
- sign=$(printf '%s' "${private_key}${query}" | sha256deep)
- curl -# "${api_url}/?$query&sign=${sign}"
-}
-
-_query_protrack_push_to_resourcespace(){
- MEDIAID="${1}"
- echo -n "Working on ${MEDIAID}"
- # search rs for mediaid
- REF="$(_search "${MEDIAID}" 2>/dev/null | head -n 1)"
- if [[ -z "${REF}" ]] ; then
- echo ", not found in resourcespace, skipping."
- else
- echo ", found in resourcespace (ref=$REF)"
- TEMPXML=$(_maketemp)
- # get PBCore XML for that mediaid
- "${SCRIPTDIR}/pbprotracktor" "${MEDIAID}" | _remove_empty_xml_nodes 2> /dev/null > "${TEMPXML}"
- if [[ -f "${SCRIPTDIR}/fmpbcore" && -f "${TEMPXML}" && ! -s "${TEMPXML}" ]] ; then
- echo "No data retrived from protrack. Now trying to grab pbcore for ${MEDIAID} using fmpbcore."
- "${SCRIPTDIR}/fmpbcore" "${MEDIAID}" | _remove_empty_xml_nodes 2> /dev/null > "${TEMPXML}"
- fi
- if [[ ! -s "${TEMPXML}" ]] ; then
- echo "Error, no pbcore data found for ${MEDIAID}."
- return
- fi
- xml val "${TEMPXML}" >/dev/null
- if [ "${?}" != "0" ] ; then
- echo "pbprotracktor did not return a result for ${MEDIAID}, skipping."
- return
- fi
- # upload asset type
- UPLOAD_ASSETTYPE=$(xml sel -N p="http://www.pbcore.org/PBCore/PBCoreNamespace.html" -T -t -m //p:pbcoreAssetType -v . -n -b "${TEMPXML}")
- _updatefield "${REF}" "${PBCORE_ASSETTYPE_FIELD}" "${UPLOAD_ASSETTYPE}"
- # upload asset date
- UPLOAD_ASSETDATE=$(xml sel -N p="http://www.pbcore.org/PBCore/PBCoreNamespace.html" -T -t -m //p:pbcoreAssetDate -v . -o " (" -v @dateType -o ")" -n -b "${TEMPXML}")
- _updatefield "${REF}" "${PBCORE_ASSETDATE_FIELD}" "${UPLOAD_ASSETDATE}"
- # upload identifiers
- UPLOAD_IDENTIFIERS=$(xml sel -N p="http://www.pbcore.org/PBCore/PBCoreNamespace.html" -T -t -m //p:pbcoreIdentifier -v . -o " (" -v @source -o ")" -n -b "${TEMPXML}")
- _updatefield "${REF}" "${PBCORE_IDENTIFIER_FIELD}" "${UPLOAD_IDENTIFIERS}"
- # upload title
- UPLOAD_TITLES=$(xml sel -N p="http://www.pbcore.org/PBCore/PBCoreNamespace.html" -T -t -m "//p:pbcoreDescriptionDocument/p:pbcoreTitle[@titleType!='Series']|p:pbcoreTitle[@titleType!='Subtitle']" -v "." -o " (" -v "@titleType" -o ")" -n -b "${TEMPXML}" | sed "s| ()||g")
- _updatefield "${REF}" "${PBCORE_TITLE_FIELD}" "${UPLOAD_TITLES}"
- # upload title series
- UPLOAD_TITLE_SERIES=$(xml sel -N p="http://www.pbcore.org/PBCore/PBCoreNamespace.html" -T -t -m //p:pbcoreDescriptionDocument -v "p:pbcoreTitle[@titleType='Series'][1]" "${TEMPXML}")
- _updatefield "${REF}" "${PBCORE_TITLE_SERIES_FIELD}" "${UPLOAD_TITLE_SERIES}"
- # upload subtitle
- UPLOAD_SUBTITLE=$(xml sel -N p="http://www.pbcore.org/PBCore/PBCoreNamespace.html" -T -t -m //p:pbcoreDescriptionDocument -v "p:pbcoreTitle[@titleType='Subtitle'][1]" "${TEMPXML}")
- _updatefield "${REF}" "${PBCORE_SUBTITLE_FIELD}" "${UPLOAD_SUBTITLE}"
- # upload description info
- UPLOAD_DESCRIPTIONS=$(xml sel -N p="http://www.pbcore.org/PBCore/PBCoreNamespace.html" -T -t -m //p:pbcoreDescriptionDocument/p:pbcoreDescription -v . -o " (" -v @descriptionType -o ")" -n -n -b "${TEMPXML}" | sed "s| ()||g")
- _updatefield "${REF}" "${PBCORE_DESCRIPTION_FIELD}" "${UPLOAD_DESCRIPTIONS}"
- # upload coverage info
- UPLOAD_COVERAGE=$(xml sel -N p="http://www.pbcore.org/PBCore/PBCoreNamespace.html" -T -t -m //p:pbcoreDescriptionDocument/p:pbcoreCoverage -v . -o " (" -v @coverageType -o ")" -n -b "${TEMPXML}" | sed "s| ()||g")
- _updatefield "${REF}" "${PBCORE_COVERAGE_FIELD}" "${UPLOAD_COVERAGE}"
- # upload creator info
- UPLOAD_CREATORS=$(xml sel -N p="http://www.pbcore.org/PBCore/PBCoreNamespace.html" -T -t -m //p:pbcoreDescriptionDocument/p:pbcoreCreator -v p:creator -o " (" -v @creatorRole -o ")" -n -b "${TEMPXML}" | sed "s| \[\]||g;s| ()||g")
- _updatefield "${REF}" "${PBCORE_CREATOR_FIELD}" "${UPLOAD_CREATORS}"
- # upload contributor info
- UPLOAD_CONTRIBUTORS=$(xml sel -N p="http://www.pbcore.org/PBCore/PBCoreNamespace.html" -T -t -m //p:pbcoreDescriptionDocument/p:pbcoreContributor -v p:contributor -o " [" -v p:contributor/@affiliation -o "] (" -v @contributorRole -o ")" -n -b "${TEMPXML}" | sed "s|\[\]||g;s|()||g")
- _updatefield "${REF}" "${PBCORE_CONTRIBUTOR_FIELD}" "${UPLOAD_CONTRIBUTORS}"
- # upload publisher info
- UPLOAD_PUBLISHERS=$(xml sel -N p="http://www.pbcore.org/PBCore/PBCoreNamespace.html" -T -t -m //p:pbcoreDescriptionDocument/p:pbcorePublisher -v p:publisher -o " (" -v @publisherRole -o ")" "${TEMPXML}" | sed "s| \[\]||g;s| ()||g")
- _updatefield "${REF}" "${PBCORE_PUBLISHER_FIELD}" "${UPLOAD_PUBLISHERS}"
- # upload interstitial info
- UPLOAD_INSTANTIATION=$(xml sel -N p="http://www.pbcore.org/PBCore/PBCoreNamespace.html" -T -t -m //p:pbcoreInstantiation -m p:instantiationIdentifier -v . -o " (" -v @source -o ")" -n -b -o "timestart: " -v p:instantiationTimeStart -n -o "duration: " -v p:instantiationDuration -n -n "${TEMPXML}" | sed "s| ()||g")
- _updatefield "${REF}" "${PBCORE_INSTANTIATION_FIELD}" "${UPLOAD_INSTANTIATION}"
-
- # provide last updated info
- UPLOAD_LASTUPDATE=$(xml sel -N p="http://www.pbcore.org/PBCore/PBCoreNamespace.html" -T -t -m //p:pbcoreCollection -v @collectionDate "${TEMPXML}")
- _updatefield "${REF}" "${LAST_UPDATED_FIELD}" "${UPLOAD_LASTUPDATE}"
- if [ -f "${TEMPXML}" ] ;then
- rm "${TEMPXML}"
- fi
- fi
-}
-
-_catalog_airings(){
- CATALOGDATE="${1}"
- CATALOGMONTH="$(echo "${CATALOGDATE}" | cut -d- -f1-2)"
- CATALOGYEAR="$(echo "${CATALOGDATE}" | cut -d- -f1)"
- CATALOG_NAME="${CATALOGDATE} Shows"
- # check is a collection already exists for a broadcast date
- DATE_COLLECTION_ID=$(_search_public_collections "${CATALOG_NAME}")
- if [[ -z "${DATE_COLLECTION_ID}" ]] ; then
- # create a collection in rs if needed
- mysql -h "${RESOURCESPACE_DB_HOST}" -u "${RESOURCESPACE_DB_USER}" -p"${RESOURCESPACE_DB_PW}" -D "${RESOURCESPACE_DB_NAME}" -e "INSERT INTO collection (name,public,theme,theme2,theme3,theme4,created,user,allow_changes) VALUES('$(printf "%q" "${CATALOG_NAME}")',1,'Programming','$(printf "%q" "${CATALOGYEAR}")','$(printf "%q" "${CATALOGMONTH}")','$(printf "%q" "${CATALOGDATE}")',now(),3,1)" ;
- DATE_COLLECTION_ID=$(_search_public_collections "${CATALOG_NAME}")
- fi
- # query protrack for records and add them all to a collection according to broadcast date
- ## programs
- psql -Ath "$PROTRACK_DB_URL" -U "$PROTRACK_DB_USER" -P pager=off -d protrack -c "SELECT CASE WHEN li_material_id is not null THEN trim(li_material_id) ELSE trim(fi_video_src) END FROM prog_log LEFT JOIN linkinfo ON li_vsn_id = prog_log.log_vsn_id LEFT JOIN filler ON fi_serial = prog_log.log_fi_id WHERE log_start_inst BETWEEN '${CATALOGDATE}' AND '$(date -j -f "%Y-%m-%d" -v+1d "${CATALOGDATE}" "+%Y-%m-%d")' AND log_type ='PG'" | sort -u | while read id ; do
- MEDIAREF=$(_search "${id}")
- if [[ ! -z "${MEDIAREF}" ]] ; then
- echo "Adding ${id} with ref id of ${MEDIAREF} to ${CATALOGDATE} with ref id of ${DATE_COLLECTION_ID}"
- _add_resource_to_collection "${MEDIAREF}" "${DATE_COLLECTION_ID}"
- else
- echo NOT uploading "$id"
- fi
- done
- ## promos
- CATALOG_PROMO_NAME="${CATALOGDATE} Promos"
- DATE_PROMO_COLLECTION_ID=$(_search_public_collections "${CATALOG_PROMO_NAME}")
- if [[ -z "${DATE_PROMO_COLLECTION_ID}" ]] ; then
- # create a collection in rs if needed
- mysql -h "${RESOURCESPACE_DB_HOST}" -u "${RESOURCESPACE_DB_USER}" -p"${RESOURCESPACE_DB_PW}" -D "${RESOURCESPACE_DB_NAME}" -e "INSERT INTO collection (name,public,theme,theme2,theme3,theme4,created,user,allow_changes) VALUES('$(printf "%q" "${CATALOG_PROMO_NAME}")',1,'Programming','$(printf "%q" "${CATALOGYEAR}")','$(printf "%q" "${CATALOGMONTH}")','$(printf "%q" "${CATALOGDATE}")',now(),3,1)" ;
- DATE_PROMO_COLLECTION_ID=$(_search_public_collections "${CATALOG_PROMO_NAME}")
- fi
- psql -Ath "$PROTRACK_DB_URL" -U "$PROTRACK_DB_USER" -P pager=off -d protrack -c "SELECT CASE WHEN li_material_id is not null THEN trim(li_material_id) ELSE trim(fi_video_src) END FROM prog_log LEFT JOIN linkinfo ON li_vsn_id = prog_log.log_vsn_id LEFT JOIN filler ON fi_serial = prog_log.log_fi_id WHERE log_start_inst BETWEEN '${CATALOGDATE}' AND '$(date -j -f "%Y-%m-%d" -v+1d "${CATALOGDATE}" "+%Y-%m-%d")' AND log_type ='PR'" | sort -u | while read id ; do
- MEDIAREF=$(_search "${id}")
- if [[ ! -z "${MEDIAREF}" ]] ; then
- echo "Adding ${id} with ref id of ${MEDIAREF} to ${CATALOGDATE} with ref id of ${DATE_PROMO_COLLECTION_ID}"
- _add_resource_to_collection "${MEDIAREF}" "${DATE_PROMO_COLLECTION_ID}"
- else
- echo NOT uploading "$MEDIAREF"
- fi
- done
-}
-
-if [ ! -f "${CONF_FILE}" ] ; then
- echo "A configuration file is needed, please edit ${CONF_FILE}."
- echo "Please edit ${CONF_FILE}"
- echo "PROTRACK_DB_URL=" > "${CONF_FILE}"
- echo "PROTRACK_DB_USER=" >> "${CONF_FILE}"
- echo "RESOURCESPACE_DB_HOST=" >> "${CONF_FILE}"
- echo "RESOURCESPACE_DB_NAME=" >> "${CONF_FILE}"
- echo "RESOURCESPACE_DB_USER=" >> "${CONF_FILE}"
- echo "RESOURCESPACE_DB_PW=" >> "${CONF_FILE}"
- echo "# for resourcespace api"
- echo "private_key=" >> "${CONF_FILE}"
- echo "user=" >> "${CONF_FILE}"
- echo "api_url=" >> "${CONF_FILE}"
- exit 1
-fi
-
-. "${CONF_FILE}" || { echo "Missing ${CONF_FILE}. Exiting." ; exit 1 ; }
-
-OPTIND=1
-while getopts ":f:F:t:h" OPT ; do
- case "${OPT}" in
- f) FROM_DATE_PT="${OPTARG}" ;;
- F) FROM_DATE_RS="${OPTARG}" ;;
- t) MAKEDATE="${OPTARG}" ;;
- h) _usage ;;
- :) echo "Option -${OPTARG} requires an argument" ; _writeerrorlog "makeyoutube" "The option selected required an argument and none was provided. The script had to exit." ; exit 1 ;;
- *) echo "bad option -${OPTARG}" ; _usage ;;
- esac
-done
-shift $(( ${OPTIND} - 1 ))
-
-# if from date is relative (like a negative number) then figure out what that date actually is
-if [[ "${FROM_DATE_PT:0:1}" = "-" ]] ; then
- FROM_DATE_PT=$(date -j -v"${FROM_DATE_PT}"d "+%Y-%m-%d %H:%M:%S")
-fi
-if [[ "${FROM_DATE_RS:0:1}" = "-" ]] ; then
- FROM_DATE_RS=$(date -j -v"${FROM_DATE_RS}"d "+%Y-%m-%d %H:%M:%S")
-fi
-
-if [[ ! -z "${MAKEDATE}" ]]; then
- _catalog_airings "$MAKEDATE"
- #_catalog_airings "$(date -j -v+1d "+%Y-%m-%d")"
-fi
-
-if [[ -n "${FROM_DATE_PT}" ]] ; then
- # query protrack for filler and update data to rs
- psql -Ath "$PROTRACK_DB_URL" -U "$PROTRACK_DB_USER" -P pager=off -d protrack -c "SELECT fi_video_src FROM filler AS f LEFT JOIN notes AS n ON n.no_parent = f.fi_serial WHERE f.up_date BETWEEN '${FROM_DATE_PT}' AND '3000-01-01' OR n.up_date BETWEEN '${FROM_DATE_PT}' AND '3000-01-01'" | while read MEDIAID ; do
- _query_protrack_push_to_resourcespace "${MEDIAID}"
- done
- # query protrack for programs and episodes and update data to rs
- psql -Ath "$PROTRACK_DB_URL" -U "$PROTRACK_DB_USER" -P pager=off -d protrack -c "SELECT li_material_id FROM linkinfo LEFT JOIN quad_tab ON linkinfo.li_vsn_id = quad_tab.vsn_serial WHERE linkinfo.up_date BETWEEN '${FROM_DATE_PT}' AND '3000-01-01'" | while read MEDIAID ; do
- _query_protrack_push_to_resourcespace "${MEDIAID}"
- done
-elif [[ -n "${FROM_DATE_RS}" ]] ; then
- # query rs for resources and query protrack for that data
- echo "searching resourcespace records back to ${FROM_DATE_RS}"
- mysql -BNr -h "${RESOURCESPACE_DB_HOST}" -u "${RESOURCESPACE_DB_USER}" -p"${RESOURCESPACE_DB_PW}" -D "${RESOURCESPACE_DB_NAME}" -e "SELECT field8 FROM resource WHERE archive!='3' and creation_date BETWEEN '${FROM_DATE_RS}' AND '3000-01-01'" | while read MEDIAID ; do
- if [[ "${MEDIAID}" != "NULL" ]] && [[ "${MEDIAID}" != "" ]] ; then
- _query_protrack_push_to_resourcespace "${MEDIAID}"
- fi
- done
-else
- # loop over list of ids provided and upload data from protrack to rs
- while [ "${*}" != "" ] ; do
- MEDIAID="${1}"
- shift
- _query_protrack_push_to_resourcespace "${MEDIAID}"
- done
- echo
-fi