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')