#!/usr/bin/env bash

source $BIN_DIR/utils

MANAGE_FILE=$(find . -maxdepth 3 -type f -name 'manage.py' -printf '%d\t%P\n' | sort -nk1 | cut -f2 | head -1)
MANAGE_FILE=${MANAGE_FILE:-fakepath}

[ -f .heroku/collectstatic_disabled ] && DISABLE_COLLECTSTATIC=1

bpwatch start collectstatic

if [ ! "$DISABLE_COLLECTSTATIC" ] && [ -f "$MANAGE_FILE" ]; then
    set +e

    echo "-----> Preparing static assets"
    # Check if collectstatic is configured properly.
    python $MANAGE_FILE collectstatic --dry-run --noinput &> /dev/null && RUN_COLLECTSTATIC=true

    # Compile assets if collectstatic appears to be kosher.
    if [ "$RUN_COLLECTSTATIC" ]; then

        echo "       Running collectstatic..."
        python $MANAGE_FILE collectstatic --noinput  2>&1 | sed '/^Copying/d;/^$/d;/^ /d' | indent

        [ $? -ne 0 ] && {
            echo " !     Error running 'manage.py collectstatic'. More info:"
            echo "       http://devcenter.heroku.com/articles/django-assets"
        }
    else
        echo "       Collectstatic configuration error. To debug, run:"
        echo "       $ heroku run python $MANAGE_FILE collectstatic --noinput"
    fi
    echo
fi

bpwatch stop collectstatic
