#!/bin/zsh # Create a Django project using a template in .dotfiles/codetemplates/django # Eryn Wells function usage_mkdjango { cat <&2 usage_mkdjango $0 return -1 fi local tname=$1 local tdir="$HOME/.codetemplates/django/$tname" local pname=$2 local dest=$3 if [[ ! -d "$tdir" ]]; then print_error "Invalid template name: $tname" 1>&2 return -2 fi print_info "Making Django project '$pname' with template '$tname'" if [[ -n "$dest" && ! -d "$dest" ]]; then print_info_sub "Destination directory given but does not exist; creating $dest" mkdir -p "$dest" fi # Determine what files might not be rendered by django-admin.py local names=() for f in `ls -A "$tdir"`; do # Pick up dotfiles if [[ -e "$f" && "$f" =~ "^\." ]]; then names+=("$f") fi done print_info_sub "Calling django-admin.py" django-admin.py startproject --template="$tdir" --name=${(j.,.)names} "$pname" "$dest" exitcode=$? return $exitcode } mkdjango $@