File: android-deltas-sync/_etc/_publish.sh
#===================================================================
# Automatically build+publish this folder's content, only.
#
# This Bash script uploads both the Fold3 page and the work-around
# scripts folder. Launch it from Terminal in any folder. Example:
#
# cd $C/fold3-vs-deltas
# bash _publish.sh
#
# Also run by $W/_admin/BUILD-THUMBSPAGE-CLIENTS/_PUBLISH.sh:
# there are two small thumbspage galleries here.
#
# This app has no separate build/ folder: this IS its build script.
#
# For common-defs snapshot, see https://learning-python.com/
# thumbspage/build/x-publish-external-demos-prod/common.sh
#
# Nov22: .htaccess now in zip folder, not copied to site here.
# Else site diff and tag rot; see android-deltas-sync/.htaccess.
#===================================================================
echo 'Publish starting at' $(date +'%H:%M:%S, %D')
# get common defs
source ~/MY-STUFF/Websites/_admin/BUILD-THUMBSPAGE-CLIENTS/common.sh
# Caution: run android-deltas-sync/_etc/__sloc.py__ first if code changed
#------------------------------------------
# 0) Generate thumbspage galleries
#------------------------------------------
# dynamic+custom
cd $C/fold3-vs-deltas/android-deltas-sync/_etc/screenshots
bash _generate.sh
# fixed+default
cd ../gadgetpics
bash _generate.sh
#------------------------------------------
# 1) Zip scripts folder in Code
#------------------------------------------
cd $C/fold3-vs-deltas
#rm -rf android-deltas-sync/__pycache__ # now a ziptools default skip
cp -p _publish.sh android-deltas-sync/_etc
# courtesy copies [1.2]
cp -p android-deltas-sync/config_pc.py android-deltas-sync/_etc/configs-originals
cp -p android-deltas-sync/config_phone.py android-deltas-sync/_etc/configs-originals
echo 'Copies finished'
py3 $Z/zip-create.py android-deltas-sync.zip android-deltas-sync -skipcruft
#------------------------------------------
# 2) Copy html and zipped scripts to $W
#------------------------------------------
pub=$W/Programs/Current/Complete
cp -p fold3-vs-deltas.html $pub # but insert-analytics changes dates
cp -p android-deltas-sync.zip $pub
mv android-deltas-sync.zip _private/android-deltas-sync--$stamp.zip
#------------------------------------------
# 3) Unzip in $W, add analytics if needed
#------------------------------------------
cd $pub
rm -rf android-deltas-sync
py3 $Z/zip-extract.py android-deltas-sync.zip . -permissions
py3 $M/insert-analytics.py fold3-vs-deltas.html
py3 $M/insert-analytics.py android-deltas-sync/_README.html
py3 $M/insert-analytics.py android-deltas-sync/_etc/bash-version/_README-bash-draft.html
py3 $M/insert-analytics.py android-deltas-sync/_etc/screenshots/index.html
py3 $M/insert-analytics.py android-deltas-sync/_etc/gadgetpics/index.html
#------------------------------------------
# 4) Publish to local UNION and zip there
#------------------------------------------
# copies README=>_README, adds analytics ip-anon line to html, mods tag in html+.htaccess
cd $W
py3 _PUBLISH.py | tail -n 20
cd UNION
py3 $Z/zip-create.py fvdcombo.zip \
fold3-vs-deltas.html \
android-deltas-sync.zip \
android-deltas-sync -skipcruft
#--------------------------------------------
# 5) Upload to and unzip in website's root
#--------------------------------------------
# upload
SCP fvdcombo.zip htdocs
# unzip at site (or: unzip -o = overwrite) [rm *-scripts temp: rebranded]
SSH <<-EOF
cd htdocs
rm -rf android-deltas-scripts android-deltas-scripts.zip
rm -rf android-deltas-sync android-deltas-sync.zip fold3-vs-deltas.html
unzip -d . fvdcombo.zip
rm fvdcombo.zip
exit
# keep f-v-d.html, a-d-s.zip, and unzipped a-d-s/ content in root
EOF
rm fvdcombo.zip # in local UNION
# bad ideas: files were local/live diffs, and out-of-scope for analytics fixers
# auto-indexes: don't include file in user zip (now in user zips)
# SCP $C/fold3-vs-deltas/.htaccess htdocs/android-deltas-sync
# auto-indexes readme: not in zip, displayed in page (now in user zip)
# SCP $C/fold3-vs-deltas/_summary.html htdocs/android-deltas-sync
#--------------------------------------------
# 6) Download zip and verify its content
#--------------------------------------------
cd $temp
rm -rf _README.html android-deltas-sync.zip android-deltas-sync
fvdcode=$C/fold3-vs-deltas/android-deltas-sync
# content
printf '\n** Diff: there should be 1 diff for README: analytics\n'
curl -O https://learning-python.com/android-deltas-sync/_README.html
diff _README.html $fvdcode/_README.html
# zipfile
printf '\n** Cmp: there should be no cmp output for zip\n'
curl -O https://learning-python.com/android-deltas-sync.zip
cmp -bl android-deltas-sync.zip \
$fvdcode/../_private/android-deltas-sync--$stamp.zip
# unzippped content
py3 $Z/zip-extract.py android-deltas-sync.zip . > /dev/null # makes a-d-s/
printf '\n** Diffall: there should be no diffs for unzip\n'
py3 $C/mergeall/diffall.py $fvdcode \
android-deltas-sync -skipcruft | tail -n 7
printf '\n** Mergeall: there should no diffs for unzip\n'
py3 $C/mergeall/mergeall.py $fvdcode \
android-deltas-sync -skipcruft -report | tail -n 9
echo 'Publish finished at' $(date +'%H:%M:%S, %D')