|
|
@@ -0,0 +1,37 @@
|
|
|
+#!/bin/bash
|
|
|
+
|
|
|
+# Move into place if a directory is provided
|
|
|
+if [ -n "${1}" ]; then
|
|
|
+ if [ -d "${1}" ]; then
|
|
|
+ cd "${1}"
|
|
|
+ else
|
|
|
+ echo "Usage: ${0} [path]" 1>&2
|
|
|
+ exit 1
|
|
|
+ fi
|
|
|
+fi
|
|
|
+
|
|
|
+# Scan for media files
|
|
|
+for i in *.mp4 *.mkv *.m4v; do
|
|
|
+ YTID="`echo "${i}" | sed 's%^S20[0-9][0-9]E[0-9]* - \(.*\)\.m[pk4][4v]%\1%'`"
|
|
|
+ if [ -z "${YTID}" ] || [ "${YTID}" == "${i}" ]; then
|
|
|
+ continue
|
|
|
+ fi
|
|
|
+
|
|
|
+ # Find related meta files
|
|
|
+ META="${YTID}.meta"
|
|
|
+ if [ -s "${META}" ]; then
|
|
|
+ continue
|
|
|
+ fi
|
|
|
+
|
|
|
+ # Find the media file mtime
|
|
|
+ DATE="`stat -c '%Y' "${i}"`"
|
|
|
+ if [ -z "${DATE}" ]; then
|
|
|
+ echo "Could not determine date for: ${i}" 1>&2
|
|
|
+ continue
|
|
|
+ fi
|
|
|
+
|
|
|
+ # Add missing meta files
|
|
|
+ echo "# Autogenerated" > "${META}"
|
|
|
+ echo "date = ${DATE}" >> "${META}"
|
|
|
+ touch -r "${i}" "${META}"
|
|
|
+done
|