From ab00022d66248c0542370ba94500519a75d20ca9 Mon Sep 17 00:00:00 2001 From: chabad360 Date: Wed, 1 Aug 2018 18:56:53 -0700 Subject: [PATCH] adding commands to dbench --- dbench => dbench.sh | 50 +++++++++++++++++++++++++-------------------- 1 file changed, 28 insertions(+), 22 deletions(-) rename dbench => dbench.sh (56%) mode change 100755 => 100644 diff --git a/dbench b/dbench.sh old mode 100755 new mode 100644 similarity index 56% rename from dbench rename to dbench.sh index f9bd162a..787eaef1 --- a/dbench +++ b/dbench.sh @@ -1,15 +1,15 @@ #!/bin/bash display_usage () { - echo "$(basename "$0") [-h] [-c \"\"]" + echo "Usage: dbench.sh [-hda [sitename] | --init [-e | -d] [sitename (if not specified, it will default to site1.local)]] [\"\"]" echo '' echo 'where:' echo ' -h show this help text' - echo ' -c execute a command inside docker using docker exec' - echo ' -s adds site-names to /etc/hosts file in the container to facilitate multisite access' - echo ' init initializes frappe-bench' - echo ' init -e initializes frappe-bench and installs erpnext' - echo ' init -d initializes frappe-bench and enables developer mode' + echo ' -d [sitename] enables developer mode for specified site' + echo ' -a adds site-names to /etc/hosts file in the container to facilitate multisite access' + echo ' --init [-e | -d] [sitename] initializes frappe-bench' + echo ' -e initializes frappe-bench and installs erpnext' + echo ' -d initializes frappe-bench and enables developer mode' } frappe_installer () { @@ -19,45 +19,51 @@ frappe_installer () { docker exec -it frappe bash -c "mv Procfile_docker Procfile && mv sites/common_site_config_docker.json sites/common_site_config.json" echo "frappe-bench folder setup" docker exec -it -u root frappe bash -c "apt-get install vim -y && apt-get install sudo -y && usermod -aG sudo frappe && printf '# User rules for frappe\nfrappe ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers.d/frappe" - echo "adding site1.local" - docker exec -it frappe bash -c "bench new-site site1.local" - docker exec -i -u root frappe bash -c "echo 127.0.0.1 site1.local >> /etc/hosts" - sudo su -c 'echo 127.0.0.1 site1.local >> /etc/hosts' - echo "site1.local added" + echo "adding $1" + docker exec -it frappe bash -c "bench new-site $1" + docker exec -i -u root frappe bash -c "echo 127.0.0.1 $1 >> /etc/hosts" + sudo su -c 'echo 127.0.0.1 $1 >> /etc/hosts' + echo "$1 added" } if [[ $# -eq 0 ]]; then - docker exec -it frappe bash + docker exec -it frappe bash "bench $@" elif [[ $1 == 'init' && $2 == '-e' ]] then - frappe_installer + if ! $3 then + set -- "${@:1:2}" "site1.local" + fi + frappe_installer $3 echo "installing erpnext" docker exec -it frappe bash -c "bench get-app erpnext" - docker exec -it frappe bash -c "bench --site site1.local install-app erpnext" + docker exec -it frappe bash -c "bench --site $3 install-app erpnext" echo "finished" elif [[ $1 == 'init' && $2 == '-d' ]] then - frappe_installer - docker exec -it frappe bash -c "bench set-config \"developer_mode\" 1 && bench clear-cache" + if ! $3 then + set -- "${@:1:2}" "site1.local" + fi + frappe_installer $3 + docker exec -it frappe bash -c "bench --site $3 set-config \"developer_mode\" 1 && bench clear-cache" elif [ $1 == 'init' ] then - frappe_installer + if ! $2 then + set -- "${@:1}" "site1.local" + fi + frappe_installer $2 else - while getopts ':hsc:' option; do + while getopts ':hs:' option; do case "$option" in h) display_usage exit ;; - c) - docker exec -it frappe bash -c "bench $OPTARG" - ;; s) - a=$(cd frappe-bench && ls sites/*/site_config.json | grep -o '/.\+/') + a=$(docker exec -i frappe bash -c "cd ~/frappe-bench && ls sites/*/site_config.json" | grep -o '/.\+/') a="${a//$'\n'/ }" a=$(echo $a | tr -d / ) result="127.0.0.1 ${a}"