#!/bin/bash
OPEN_PROJECT_NAME="isort"

if [ "$PROJECT_NAME" = "$OPEN_PROJECT_NAME" ]; then
    return
fi

export PROJECT_NAME=$OPEN_PROJECT_NAME
export PROJECT_DIR="$PWD"

# Let's make sure this is a hubflow enabled repo
yes | git hf init >/dev/null 2>/dev/null

# Quick directory switching
alias root="cd $PROJECT_DIR"
alias project="root; cd $PROJECT_NAME"

# Commands
alias test="root; py.test -s"
alias install="_install_project"
alias distribute="python setup.py sdist upload"
alias leave="_leave_project"

function _install_project()
{
    CURRENT_DIRECTORY="$PWD"
    root
    sudo python setup.py install
    cp isort_kate_plugin.py ~/.kde/share/apps/kate/pate/isort_plugin.py >/dev/null 2>/dev/null
    cd $CURRENT_DIRECTORY
}

function _leave_project()
{
    export PROJECT_NAME=""
    export PROJECT_DIR=""

    unalias root
    unalias project
    unalias test
    unalias install
    unalias distribute
    unalias leave
}
