|
|
|
@ -1,5 +1,6 @@ |
|
|
|
|
#!/usr/bin/env python |
|
|
|
|
# -*- coding: utf-8 -*- |
|
|
|
|
"""Invoke tasks.""" |
|
|
|
|
import os |
|
|
|
|
import shutil |
|
|
|
|
|
|
|
|
@ -10,19 +11,31 @@ HERE = os.path.abspath(os.path.dirname(__file__)) |
|
|
|
|
COOKIE = os.path.join(HERE, 'myflaskapp') |
|
|
|
|
REQUIREMENTS = os.path.join(COOKIE, 'requirements', 'dev.txt') |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@task |
|
|
|
|
def build(): |
|
|
|
|
"""Build the cookiecutter.""" |
|
|
|
|
run('cookiecutter {0} --no-input'.format(HERE)) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@task |
|
|
|
|
def clean(): |
|
|
|
|
"""Clean out generated cookiecutter.""" |
|
|
|
|
if os.path.exists(COOKIE): |
|
|
|
|
shutil.rmtree(COOKIE) |
|
|
|
|
print('Removed {0}'.format(COOKIE)) |
|
|
|
|
else: |
|
|
|
|
print('App directory does not exist. Skipping.') |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def _run_manage_command(command): |
|
|
|
|
run('python {0} {1}'.format(os.path.join(COOKIE, 'manage.py'), command), echo=True) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@task(pre=[clean, build]) |
|
|
|
|
def test(): |
|
|
|
|
run('pip install -r {0}'.format(REQUIREMENTS), echo=True) |
|
|
|
|
run('python {0} test'.format(os.path.join(COOKIE, 'manage.py')), echo=True) |
|
|
|
|
"""Run lint commands and tests.""" |
|
|
|
|
run('pip install -r {0} --ignore-installed'.format(REQUIREMENTS), echo=True) |
|
|
|
|
os.chdir(COOKIE) |
|
|
|
|
_run_manage_command('lint') |
|
|
|
|
_run_manage_command('test') |
|
|
|
|