|  |  |  | @ -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') | 
			
		
	
	
		
			
				
					|  |  |  | 
 |