#!/bin/bash
for t in `ls .|grep txt`; do
# start with numerical comparisions
x=$(grep ^MaxBitRate "$t"|cut -d, -f2)
if (( $x < 4000000 ))
then
grep ^MaxBitRate "$t" >> /opt/gavin/bash/errors/"$t".error
fi
x=$(grep ^'Stream(1)DataBitRate' "$t"|cut -d, -f2)
if (( $x > 96000 ))
then
grep ^'Stream(1)DataBitRate' "$t" >> /opt/gavin/bash/errors/"$t".error
fi
x=$(grep ^'Stream(2)DataBitRate' "$t"|cut -d, -f2)
if (( $x > 1200000 ))
then
grep ^'Stream(2)DataBitRate' "$t" >> /opt/gavin/bash/errors/"$t".error
fi
x=$(grep ^'Stream(2)AlternateDataBitrate' "$t"|cut -d, -f2)
if (( $x > 4000000 ))
then
grep ^'Stream(2)AlternateDataBitrate' "$t" >> /opt/gavin/bash/errors/"$t".error
fi
x=$(grep ^SamplesPerSecond "$t"|cut -d, -f2)
if (( $x < 32000 ))
then
grep ^SamplesPerSecond "$t" >> /opt/gavin/bash/errors/"$t".error
fi
x=$(grep ^BitsPerPixelCount "$t"|cut -d, -f2)
if (( $x != 24 ))
then
grep ^BitsPerPixelCount "$t" >> /opt/gavin/bash/errors/"$t".error
fi
x=$(grep ^EncodedImageWidth "$t"|cut -d, -f2)
if (( $x != 720 ))
then
grep ^EncodedImageWidth "$t" >> /opt/gavin/bash/errors/"$t".error
fi
# second are tests to see if string exits, any string is printed as "astring" so "" means empty, which is bad
x=$(grep ^Title "$t"|cut -d, -f2)
if [[ $x = '""' ]]
then
grep ^Title "$t" >> /opt/gavin/bash/errors/"$t".error
fi
x=$(grep ^Author "$t"|cut -d, -f2)
if [[ $x = '""' ]]
then
grep ^Author "$t" >> /opt/gavin/bash/errors/"$t".error
fi
x=$(grep ^Copyright "$t"|cut -d, -f2)
if [[ $x = '""' ]]
then
grep ^Copyright "$t" >> /opt/gavin/bash/errors/"$t".error
fi
x=$(grep ^Description "$t"|cut -d, -f2)
if [[ $x = '""' ]]
then
grep ^Description "$t" >> /opt/gavin/bash/errors/"$t".error
fi
x=$(grep ^Rating "$t"|cut -d, -f2)
if [[ $x = '""' ]]
then
grep ^Rating "$t" >> /opt/gavin/bash/errors/"$t".error
fi
x=$(grep ^WMFSDKVersion "$t"|cut -d, -f2)
if [[ $x = '""' ]]
then
grep ^WMFSDKVersion "$t" >> /opt/gavin/bash/errors/"$t".error
fi
x=$(grep ^WMFSDKNeeded "$t"|cut -d, -f2)
if [[ $x = '""' ]]
then
grep ^WMFSDKNeeded "$t" >> /opt/gavin/bash/errors/"$t".error
fi
x=$(grep ^'ID3/tempFileName' "$t"|cut -d, -f2)
if [[ $x = '""' ]]
then
grep ^'ID3/tempFileName' "$t" >> /opt/gavin/bash/errors/"$t".error
fi
x=$(grep ^'ID3/BASENAME' "$t"|cut -d, -f2)
if [[ $x = '""' ]]
then
grep ^'ID3/BASENAME' "$t" >> /opt/gavin/bash/errors/"$t".error
fi
x=$(grep ^'WM/Year' "$t"|cut -d, -f2)
if [[ $x = '""' ]]
then
grep ^'WM/Year' "$t" >> /opt/gavin/bash/errors/"$t".error
fi
x=$(grep ^'WM/ParentalRating' "$t"|cut -d, -f2)
if [[ $x = '""' ]]
then
grep ^'WM/ParentalRating' "$t" >> /opt/gavin/bash/errors/"$t".error
fi
x=$(grep ^FileSize "$t"|cut -d, -f2)
if [[ $x = '""' ]]
then
grep ^FileSize "$t" >> /opt/gavin/bash/errors/"$t".error
fi
#third are exact string matches
x=$(grep ^'"WM/ContentDistributor"' "$t"|cut -d, --fields=2,3)
if [[ $x != '"Movielink, LLC"' ]]
then
grep ^'"WM/ContentDistributor"' "$t" >> /opt/gavin/bash/errors/"$t".error
fi
x=$(grep ^AudioCodecName "$t"|cut -d, -f2)
if [[ $x != '"Windows Media Audio 9"' && $x != '"Windows Media Audio 9.1"' && $x != '"Windows Media Audio 9.2"' ]]
then
grep ^AudioCodecName "$t" >> /opt/gavin/bash/errors/"$t".error
fi
x=$(grep ^VideoCodecName "$t"|cut -d, -f2)
if [[ $x != '"Windows Media Video 9"' ]]
then
grep ^VideoCodecName "$t" >> /opt/gavin/bash/errors/"$t".error
fi
x=$(grep ^'"Stream(1)IsVBR"' "$t"|cut -d, -f2)
if [[ $x != 'true' ]]
then
grep ^'"Stream(1)IsVBR"' "$t" >> /opt/gavin/bash/errors/"$t".error
fi
x=$(grep ^'"Stream(1)DeviceConformanceTemplate"' "$t"|cut -d, --fields=2,3)
if [[ $x != '"L1"' && $x != '"L2"' && $x != '"L3"' ]]
then
grep ^'"Stream(1)DeviceConformanceTemplate"' "$t" >> /opt/gavin/bash/errors/"$t".error
fi
x=$(grep ^'"Stream(2)IsVBR"' "$t"|cut -d, -f2)
if [[ $x != 'true' ]]
then
grep ^'"Stream(2)IsVBR"' "$t" >> /opt/gavin/bash/errors/"$t".error
fi
x=$(grep ^'"Stream(2)DeviceConformanceTemplate"' "$t"|cut -d, -f2)
if [[ $x != '"MP@ML"' ]]
then
grep ^'"Stream(2)DeviceConformanceTemplate"' "$t" >> /opt/gavin/bash/errors/"$t".error
fi; done
# This is a script to get the metadata on a title, then test if certain values are correct
# I used a perl script Neal suggested to generate list of titles from the inventory.xml file on a cds
# I then cleaned it up so that only the titles were listed by name, one per line
# I then sorted this list, sorted_list is the resulting file
#dir=/opt/gavin/check_metadata/ on hitman
#p=/usr/local/bin/mlasfview this is the program to generate the ~90 line header textfile from a movie
# each line has 1 name,value pair