71 lines
1.7 KiB
Bash
Executable File
71 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# start script from it's folder
|
|
cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null || exit
|
|
|
|
# Standard file locations
|
|
homedir='../../'
|
|
. ../env.sh
|
|
|
|
# Temp Files
|
|
tmpreadme1=$(mktemp)
|
|
tmpreadme2=$(mktemp)
|
|
|
|
# Delete TempFiles on exit
|
|
CleanExit () {
|
|
rm -f "$tmpreadme1"
|
|
rm -f "$tmpreadme2"
|
|
}
|
|
trap CleanExit 0 1
|
|
|
|
insertTable () {
|
|
searchstr="$1"
|
|
basefile="$2"
|
|
|
|
tableline=$( grep -n "$searchstr" "$basefile" | cut -d: -f1)
|
|
head -n $(( tableline - 1 )) "$basefile" > "$tmpreadme1"
|
|
echo -e "$table" >> "$tmpreadme1"
|
|
tail -n +$(( tableline + 1 )) "$basefile" >> "$tmpreadme1"
|
|
mv "$tmpreadme1" "$tmpreadme2"
|
|
}
|
|
|
|
## Generate YouTube Video Table
|
|
unset table
|
|
nVideos=$( jq '.youtube | length' "$appinfo")
|
|
for vid in $(seq 0 $(( nVideos - 1 ))); do
|
|
info=$( jq ".youtube[$vid]" "$appinfo" )
|
|
|
|
# Get Video ID
|
|
ID=$( echo "$info" | jq '.ID' | tr -d '"' )
|
|
|
|
# Channel Info
|
|
ChID=$( echo "$info" | jq '.Channel' )
|
|
ChTitle=$( jq ".channels[] | select(.ID==${ChID}) | .Title" "$appinfo" | tr -d '"' )
|
|
ChURL=$( jq ".channels[] | select(.ID==${ChID}) | .URL" "$appinfo" | tr -d '"' )
|
|
ChIcon="https://pi-hosted.com/images/${ChID:1:-1}-logo.png"
|
|
|
|
# Get Video URL
|
|
URL=$( echo "$info" | jq '.URL' | tr -d '"' )
|
|
|
|
# Get Video Title
|
|
TITLE=$( echo "$info" | jq '.Title' | tr -d '"' )
|
|
|
|
# Get Video Documentation
|
|
Doc=$( echo "$info" | jq '.Doc' | tr -d '"' )
|
|
if [ "$Doc" != "null" ] ; then
|
|
DocMD="[Install Doc]($Docs$Doc)"
|
|
else
|
|
unset DocMD
|
|
fi
|
|
|
|
line="|$ID|[]($ChURL)|[$TITLE]($URL)|$DocMD|"
|
|
if [ "$vid" == "0" ] ; then
|
|
table=$line
|
|
else
|
|
table=$( echo -e "$table\n$line")
|
|
fi
|
|
done
|
|
insertTable '<<<<< YOUTUBE TABLE HERE >>>>>' "$README_TEMPLATE"
|
|
|
|
cp -f "$tmpreadme2" "$README"
|