Skip to content

Commit dc65081

Browse files
privatezerodericed
authored andcommitted
call xmlstarlet by full name
fixes some compatibility issues
1 parent 983c831 commit dc65081

8 files changed

+57
-57
lines changed

checksumpackage

+6-6
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,10 @@ _check_dfxml(){
6464
PACKAGE="${ABS_PATH}"
6565
# make temp file that lists filenames and filesizes from dfxml.xml
6666
DFXML_FILELIST="$(_maketemp)"
67-
if [ ! -z "$(xml sel -T -t -m "/_:dfxml/_:fileobject" -v "_:filename" -o " " -v "_:filesize" -n "${PACKAGE}/${OUTDIR}/${DFXMLNAME}" 2>/dev/null)" ] ; then
68-
xml sel -T -t -m "/_:dfxml/_:fileobject" -v "_:filename" -o " " -v "_:filesize" -n "${PACKAGE}/${OUTDIR}/${DFXMLNAME}" | sort > "${DFXML_FILELIST}"
67+
if [ ! -z "$(xmlstarlet sel -T -t -m "/_:dfxml/_:fileobject" -v "_:filename" -o " " -v "_:filesize" -n "${PACKAGE}/${OUTDIR}/${DFXMLNAME}" 2>/dev/null)" ] ; then
68+
xmlstarlet sel -T -t -m "/_:dfxml/_:fileobject" -v "_:filename" -o " " -v "_:filesize" -n "${PACKAGE}/${OUTDIR}/${DFXMLNAME}" | sort > "${DFXML_FILELIST}"
6969
else
70-
xml sel -T -t -m "/dfxml/fileobject" -v "filename" -o " " -v "filesize" -n "${PACKAGE}/${OUTDIR}/${DFXMLNAME}" | sort > "${DFXML_FILELIST}"
70+
xmlstarlet sel -T -t -m "/dfxml/fileobject" -v "filename" -o " " -v "filesize" -n "${PACKAGE}/${OUTDIR}/${DFXMLNAME}" | sort > "${DFXML_FILELIST}"
7171
fi
7272
PWD=$(pwd)
7373
# make temp file that lists filenames and filesizes from current objects directory
@@ -177,10 +177,10 @@ while [ "${*}" != "" ] ; do
177177
_version_dfxml "${PACKAGE}"
178178
fi
179179
cat "${DFXMLTMP}" > "${PACKAGE}/${OUTDIR}/${DFXMLNAME}"
180-
if [ ! -z "$(xml sel -T -t -m "/_:dfxml/_:fileobject" -v "_:filename" -o " " -v "_:filesize" -n "${PACKAGE}/${OUTDIR}/${DFXMLNAME}" 2>/dev/null)" ] ; then
181-
xml sel -T -t -m "/_:dfxml/_:fileobject" -v "_:hashdigest" -o " " -v "_:filename" -n "${PACKAGE}/${OUTDIR}/${DFXMLNAME}" > "${PACKAGE}/${OUTDIR}/${CHECKSUMNAME}"
180+
if [ ! -z "$(xmlstarlet sel -T -t -m "/_:dfxml/_:fileobject" -v "_:filename" -o " " -v "_:filesize" -n "${PACKAGE}/${OUTDIR}/${DFXMLNAME}" 2>/dev/null)" ] ; then
181+
xmlstarlet sel -T -t -m "/_:dfxml/_:fileobject" -v "_:hashdigest" -o " " -v "_:filename" -n "${PACKAGE}/${OUTDIR}/${DFXMLNAME}" > "${PACKAGE}/${OUTDIR}/${CHECKSUMNAME}"
182182
else
183-
xml sel -T -t -m "/dfxml/fileobject" -v "hashdigest" -o " " -v "filename" -n "${PACKAGE}/${OUTDIR}/${DFXMLNAME}" > "${PACKAGE}/${OUTDIR}/${CHECKSUMNAME}"
183+
xmlstarlet sel -T -t -m "/dfxml/fileobject" -v "hashdigest" -o " " -v "filename" -n "${PACKAGE}/${OUTDIR}/${DFXMLNAME}" > "${PACKAGE}/${OUTDIR}/${CHECKSUMNAME}"
184184
fi
185185
db_source="${PACKAGE}/${OUTDIR}/${CHECKSUMNAME}"
186186
db_fixity=$(cat "${PACKAGE}/${OUTDIR}/${CHECKSUMNAME}")

ingestfile

+2-2
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ _ask_digitization_logs(){
8282
# spreadsheet fields are currently CUNY-specific
8383
_parse_spreadsheet(){
8484
DIGITIZATIONLOG=$(_maketemp)
85-
paste -d"*" <(ssconvert -T Gnumeric_html:xhtml_range "${FILES}" fd://1 | xml fo | xml select --no-doc-namespace -t -m "_:html/_:body/_:table[1]/_:tr[1]/_:td" -v "." -n) <(ssconvert -T Gnumeric_html:xhtml_range "${FILES}" fd://1 | xml fo | xml select --no-doc-namespace -t -m "_:html/_:body/_:table[1]/_:tr[_:td[1]='${MEDIAID}']/_:td" -v "." -n) | sed "s/*/\: /g" | tee "${DIGITIZATIONLOG}"
85+
paste -d"*" <(ssconvert -T Gnumeric_html:xhtml_range "${FILES}" fd://1 | xmlstarlet fo | xmlstarlet select --no-doc-namespace -t -m "_:html/_:body/_:table[1]/_:tr[1]/_:td" -v "." -n) <(ssconvert -T Gnumeric_html:xhtml_range "${FILES}" fd://1 | xmlstarlet fo | xmlstarlet select --no-doc-namespace -t -m "_:html/_:body/_:table[1]/_:tr[_:td[1]='${MEDIAID}']/_:td" -v "." -n) | sed "s/*/\: /g" | tee "${DIGITIZATIONLOG}"
8686
cat "${DIGITIZATIONLOG}" >> "${INGESTLOG}"
8787
OBJECTSOUNDFIELD=$(_readingestlog "object soundfield")
8888
DECKHEADSETTING=$(_readingestlog "deck head setting")
@@ -104,7 +104,7 @@ _get_xmp_info(){
104104
XMP_SIZE=$(mediaconch -mt "${WAV}" | xmlstarlet sel -N "mt=https://mediaarea.net/mediatrace" -t -m "mt:MediaTrace/mt:media/mt:block[@name='Wave']/mt:block[@name='_PMX']" -v "mt:block[@name='Header']/mt:data[@name='Size']" -n)
105105
XMP_OFFSET=$(mediaconch -mt "${WAV}" | xmlstarlet sel -N "mt=https://mediaarea.net/mediatrace" -t -m "mt:MediaTrace/mt:media/mt:block[@name='Wave']/mt:block[@name='_PMX']" -v "mt:data/@offset" -n)
106106
XMP_OFFSET=$(echo "${XMP_OFFSET} + 1" | bc)
107-
XMP_DATA=$(tail -c "+${XMP_OFFSET}" "$WAV" | head -c "${XMP_SIZE}" | xml fo)
107+
XMP_DATA=$(tail -c "+${XMP_OFFSET}" "$WAV" | head -c "${XMP_SIZE}" | xmlstarlet fo)
108108
GET_INFO=$(echo "${XMP_DATA}" | xmlstarlet sel -N rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" -N xmpDM="http://ns.adobe.com/xmp/1.0/DynamicMedia/" -t -m "//rdf:li[@rdf:parseType='Resource'][xmpDM:trackName='CuePoint Markers']" -o "inSample:" -v "xmpDM:markers/rdf:Seq/rdf:li[@rdf:parseType='Resource']/xmpDM:startTime" -n -o "durationSample:" -v "xmpDM:markers/rdf:Seq/rdf:li[@rdf:parseType='Resource']/xmpDM:duration" -n)
109109
INSAMPLE=$(echo "${XMP_DATA}" | xmlstarlet sel -N rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" -N xmpDM="http://ns.adobe.com/xmp/1.0/DynamicMedia/" -t -m "//rdf:li[@rdf:parseType='Resource'][xmpDM:trackName='CuePoint Markers']" -v "xmpDM:markers/rdf:Seq/rdf:li[@rdf:parseType='Resource']/xmpDM:startTime" -n)
110110
DURATIONSAMPLE=$(echo "${XMP_DATA}" | xmlstarlet sel -N rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" -N xmpDM="http://ns.adobe.com/xmp/1.0/DynamicMedia/" -t -m "//rdf:li[@rdf:parseType='Resource'][xmpDM:trackName='CuePoint Markers']" -v "xmpDM:markers/rdf:Seq/rdf:li[@rdf:parseType='Resource']/xmpDM:duration" -n)

makemetadata

+2-2
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,8 @@ while [ "${*}" != "" ] ; do
6565
MEDIAINFOTRACE="${FILEOUTPUT}/${FILENAMEROOT}_mediatrace.xml"
6666
EXIFTOOLXML="${FILEOUTPUT}/${FILENAMEROOT}_exiftool.xml"
6767
ffprobe 2> /dev/null "${FILE}" -show_format -show_streams -show_data -show_error -show_versions -show_chapters -noprivate -of xml="q=1:x=1" > "${FFPROBEXML}"
68-
mediaconch -mi -fx "${FILE}" | xml fo > "${MEDIAINFOXML}"
69-
mediaconch -mi -mt -fx "${FILE}" | xml fo > "${MEDIAINFOTRACE}"
68+
mediaconch -mi -fx "${FILE}" | xmlstarlet fo > "${MEDIAINFOXML}"
69+
mediaconch -mi -mt -fx "${FILE}" | xmlstarlet fo > "${MEDIAINFOTRACE}"
7070
exiftool -X "${FILE}" > "${EXIFTOOLXML}"
7171
done < "${FILELIST}"
7272
cd "${MMPWD}"

makemets

+1-1
Original file line numberDiff line numberDiff line change
@@ -129,5 +129,5 @@ cd "${1}"
129129
removeDSStore .
130130
tree -DaNXs --du --timefmt "%Y-%m-%dT%H:%M:%SZ" -I "tree.xml" -I "mets.xml" . > /tmp/tree.xml
131131
#use xslt to create mets document from tree.xml
132-
xsltproc --stringparam root "$(pwd)" /tmp/makemets.xsl /tmp/tree.xml | xml fo > "${1}/metadata/mets.xml"
132+
xsltproc --stringparam root "$(pwd)" /tmp/makemets.xsl /tmp/tree.xml | xmlstarlet fo > "${1}/metadata/mets.xml"
133133
cd "${PWD}"

mmfunctions

+5-5
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ _report_schema_db(){
8787
if [ -z "${xmlschema}" ] ; then
8888
xmlschema="$LTO_LOGS/${TAPE_SERIAL}.schema"
8989
fi
90-
schema_sorted=$(xml sel -t -m ".//file" -v "concat(name,'|',length, '|', modifytime)" -o "|" -m "ancestor-or-self::directory" -v "name" -o "/" -b -n "${xmlschema}")
90+
schema_sorted=$(xmlstarlet sel -t -m ".//file" -v "concat(name,'|',length, '|', modifytime)" -o "|" -m "ancestor-or-self::directory" -v "name" -o "/" -b -n "${xmlschema}")
9191
schema_tape=$(basename "${xmlschema}" | cut -d'.' -f1)
9292
IFS=$(echo -en "\n\b")
9393
(for i in ${schema_sorted}; do LINE=$i;
@@ -237,7 +237,7 @@ _db_error_check(){
237237
}
238238

239239
_fingerprint_to_db(){
240-
VIDEOFINGERPRINT=$(xml sel -N "m=urn:mpeg:mpeg7:schema:2001" -t -m "m:Mpeg7/m:DescriptionUnit/m:Descriptor/m:VideoSignatureRegion/m:VSVideoSegment" -v m:StartFrameOfSegment -o ':' -v m:EndFrameOfSegment -o ':' -m m:BagOfWords -v "translate(.,' ','')" -o ':' -b -n "${FINGERPRINT_XML}")
240+
VIDEOFINGERPRINT=$(xmlstarlet sel -N "m=urn:mpeg:mpeg7:schema:2001" -t -m "m:Mpeg7/m:DescriptionUnit/m:Descriptor/m:VideoSignatureRegion/m:VSVideoSegment" -v m:StartFrameOfSegment -o ':' -v m:EndFrameOfSegment -o ':' -m m:BagOfWords -v "translate(.,' ','')" -o ':' -b -n "${FINGERPRINT_XML}")
241241
}
242242

243243
_premis_event_list(){
@@ -1063,10 +1063,10 @@ _find_input (){
10631063
fi
10641064
elif [[ "${SOURCEFILE#*.}" = "mkv" ]] ; then
10651065
# if the sorucefile is an mkv, then check if it has a Presentation Chapter Edition
1066-
if [[ -n $(mkvextract tags "${SOURCEFILE}" | xml sel -t -m "/Tags/Tag/Simple[String='Presentation']" -v String) ]] ; then
1066+
if [[ -n $(mkvextract tags "${SOURCEFILE}" | xmlstarlet sel -t -m "/Tags/Tag/Simple[String='Presentation']" -v String) ]] ; then
10671067
_report -dt "The input file ($(basename "${SOURCEFILE}")) contains a Chapter Edition called 'Presentation', will use that for transcoding."
1068-
LISTCHAPTERS=$(mkvextract chapters "${SOURCEFILE}" | xml sel -t -m Chapters/EditionEntry[EditionFlagDefault='1']/ChapterAtom -v ChapterTimeStart -o "-" -v ChapterTimeEnd -o "-" -v ChapterSegmentUID -n -)
1069-
SegmentUIDs=$(mkvextract chapters "${SOURCEFILE}" | xml sel -t -m Chapters/EditionEntry[EditionFlagDefault='1']/ChapterAtom/ChapterSegmentUID -v . -n | sort -u)
1068+
LISTCHAPTERS=$(mkvextract chapters "${SOURCEFILE}" | xmlstarlet sel -t -m Chapters/EditionEntry[EditionFlagDefault='1']/ChapterAtom -v ChapterTimeStart -o "-" -v ChapterTimeEnd -o "-" -v ChapterSegmentUID -n -)
1069+
SegmentUIDs=$(mkvextract chapters "${SOURCEFILE}" | xmlstarlet sel -t -m Chapters/EditionEntry[EditionFlagDefault='1']/ChapterAtom/ChapterSegmentUID -v . -n | sort -u)
10701070
if [[ -n "${LISTCHAPTERS}" ]]; then
10711071
_report -d "Found this chapter list:"
10721072
_report -d "${LISTCHAPTERS}"

searchfingerprint

+1-1
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ while [ "${*}" != "" ] ; do
7575

7676
#Create Fingerprint
7777
ffmpeg -f concat -safe 0 -i "${IO}" -vf signature=format=xml:filename="${TEMPFINGERPRINT}" -map 0:v -f null -
78-
xml sel -N "m=urn:mpeg:mpeg7:schema:2001" -t -m "m:Mpeg7/m:DescriptionUnit/m:Descriptor/m:VideoSignatureRegion/m:VSVideoSegment" -v m:StartFrameOfSegment -o ':' -v m:EndFrameOfSegment -o ':' -m m:BagOfWords -v "translate(.,' ','')" -o ':' -b -n "${TEMPFINGERPRINT}" > "${TEMPFINGERPRINT_SORTED}"
78+
xmlstarlet sel -N "m=urn:mpeg:mpeg7:schema:2001" -t -m "m:Mpeg7/m:DescriptionUnit/m:Descriptor/m:VideoSignatureRegion/m:VSVideoSegment" -v m:StartFrameOfSegment -o ':' -v m:EndFrameOfSegment -o ':' -m m:BagOfWords -v "translate(.,' ','')" -o ':' -b -n "${TEMPFINGERPRINT}" > "${TEMPFINGERPRINT_SORTED}"
7979

8080
#Sort extract relevant values from fingerprint and sort for parsing
8181
(IFS=$'\n'

verifypackage

+4-4
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ while [ "${*}" != "" ] ; do
1313
shift
1414
#verify objects files
1515
while read OBJECT_FILE ; do
16-
STATUS=$(mediaconch -fx -p "${SCRIPTDIR}/object_policies.xml" "${OBJECT_FILE}" | xml sel -N mc="https://mediaarea.net/mediaconch" -t -v mc:MediaConch/mc:media/mc:policy/@outcome -n)
16+
STATUS=$(mediaconch -fx -p "${SCRIPTDIR}/object_policies.xml" "${OBJECT_FILE}" | xmlstarlet sel -N mc="https://mediaarea.net/mediaconch" -t -v mc:MediaConch/mc:media/mc:policy/@outcome -n)
1717
if [[ "$STATUS" = "pass!" ]] ; then
1818
_report -dt "Pass: ${OBJECT_FILE}"
1919
else
@@ -22,7 +22,7 @@ while [ "${*}" != "" ] ; do
2222
done < <(find "${PACKAGE}/objects" -type f -size +0 "${OBJECTS_FIND_EXCLUSIONS[@]}")
2323
#verify the makebroadcast file
2424
if [ -f "${PACKAGE}/objects/service/${MEDIAID}.mov" ] ; then
25-
STATUS=$(mediaconch -fx -p "${SCRIPTDIR}/makebroadcast_policies.xml" "${PACKAGE}/objects/service/${MEDIAID}.mov" | xml sel -N mc="https://mediaarea.net/mediaconch" -t -v mc:MediaConch/mc:media/mc:policy/@outcome -n)
25+
STATUS=$(mediaconch -fx -p "${SCRIPTDIR}/makebroadcast_policies.xml" "${PACKAGE}/objects/service/${MEDIAID}.mov" | xmlstarlet sel -N mc="https://mediaarea.net/mediaconch" -t -v mc:MediaConch/mc:media/mc:policy/@outcome -n)
2626
if [[ "$STATUS" = "pass!" ]] ; then
2727
_report -dt "Pass: ${PACKAGE}/objects/service/${MEDIAID}.mov"
2828
else
@@ -31,7 +31,7 @@ while [ "${*}" != "" ] ; do
3131
fi
3232
#verify the makeyoutube file
3333
if [ -f "${PACKAGE}/objects/access/youtube_up/${MEDIAID}.mp4" ] ; then
34-
STATUS=$(mediaconch -fx -p "${SCRIPTDIR}/makeyoutube_policies.xml" "${PACKAGE}/objects/access/youtube_up/${MEDIAID}.mp4" | xml sel -N mc="https://mediaarea.net/mediaconch" -t -v mc:MediaConch/mc:media/mc:policy/@outcome -n)
34+
STATUS=$(mediaconch -fx -p "${SCRIPTDIR}/makeyoutube_policies.xml" "${PACKAGE}/objects/access/youtube_up/${MEDIAID}.mp4" | xmlstarlet sel -N mc="https://mediaarea.net/mediaconch" -t -v mc:MediaConch/mc:media/mc:policy/@outcome -n)
3535
if [[ "$STATUS" = "pass!" ]] ; then
3636
_report -dt "Pass: ${PACKAGE}/objects/access/youtube_up/${MEDIAID}.mp4"
3737
else
@@ -40,7 +40,7 @@ while [ "${*}" != "" ] ; do
4040
fi
4141
#verify the makedvd file
4242
if [ -f "${PACKAGE}/objects/access/dvd/${MEDIAID}.iso" ] ; then
43-
STATUS=$(mediaconch -fx -p "${SCRIPTDIR}/makedvd_policies.xml" "${PACKAGE}/objects/access/dvd/${MEDIAID}.iso" | xml sel -N mc="https://mediaarea.net/mediaconch" -t -v mc:MediaConch/mc:media/mc:policy/@outcome -n)
43+
STATUS=$(mediaconch -fx -p "${SCRIPTDIR}/makedvd_policies.xml" "${PACKAGE}/objects/access/dvd/${MEDIAID}.iso" | xmlstarlet sel -N mc="https://mediaarea.net/mediaconch" -t -v mc:MediaConch/mc:media/mc:policy/@outcome -n)
4444
if [[ "$STATUS" = "pass!" ]] ; then
4545
_report -dt "Pass: ${PACKAGE}/objects/access/dvd/${MEDIAID}.iso"
4646
else

0 commit comments

Comments
 (0)