46b33a622f
with e.g. `poser install` command
63 lines
1.9 KiB
Bash
Executable file
63 lines
1.9 KiB
Bash
Executable file
#!/bin/bash
|
|
################################################################################
|
|
#
|
|
# auto rebuild 'playdough' app
|
|
#
|
|
# This script can be used to automatically re-create from scratch, a new
|
|
# app named 'playdough' - for sake of testing the cookiecutter template.
|
|
#
|
|
# IMPORTANT: To use this script, place a copy in the root of the
|
|
# cookiecutter template source folder (~/src/cookiecutter-wuttaweb)
|
|
# alongside the cookiecutter.json file. Name it `newapp.sh` and then
|
|
# modify your copy of the script as needed. (See TODO comments below.)
|
|
#
|
|
# The script does the following:
|
|
# - remove existing virtualenv and source code
|
|
# - drop and recreate database
|
|
# - make new virtualenv
|
|
# - install cookiecutter
|
|
# - make new source code via cookiecutter
|
|
# - install new app
|
|
# - run web app
|
|
#
|
|
################################################################################
|
|
|
|
set -e
|
|
|
|
# TODO: adjust paths as needed
|
|
# nb. thanks to https://stackoverflow.com/a/246128
|
|
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
|
SRC_DIR=$( dirname -- "${SCRIPT_DIR}" )
|
|
WORKON_HOME=/srv/envs
|
|
|
|
# teardown
|
|
rm -rf $WORKON_HOME/playdough
|
|
rm -rf $SRC_DIR/playdough
|
|
|
|
# database
|
|
sudo -u postgres dropdb --if-exists playdough
|
|
# TODO: adjust db owner as needed
|
|
sudo -u postgres createdb -O playdough playdough
|
|
|
|
# virtualenv
|
|
python3 -m venv $WORKON_HOME/playdough
|
|
cd $WORKON_HOME/playdough
|
|
bin/pip install -U pip
|
|
bin/pip install -U setuptools wheel
|
|
bin/pip install -U cookiecutter
|
|
|
|
# source
|
|
bin/cookiecutter --no-input -o $SRC_DIR $SCRIPT_DIR \
|
|
full_name="Your Name" \
|
|
email="you@example.com" \
|
|
project_name="Playdough" \
|
|
project_short_description="My web app" \
|
|
open_source_license="Not open source"
|
|
|
|
# install app
|
|
bin/pip install -e $SRC_DIR/playdough
|
|
bin/playdough install
|
|
|
|
# serve web app
|
|
bin/pserve --reload file+ini:app/web.conf
|