You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
980 B
35 lines
980 B
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
"""Post gen hook to ensure that the generated project
|
|
has only one package management, either pipenv or pip."""
|
|
import os
|
|
import shutil
|
|
import sys
|
|
|
|
|
|
def clean_extra_package_management_files():
|
|
"""Removes either requirements files and folder or the Pipfile."""
|
|
use_pipenv = '{{cookiecutter.use_pipenv}}'
|
|
to_delete = []
|
|
|
|
if use_pipenv == 'yes':
|
|
to_delete = to_delete + ['requirements.txt', 'requirements']
|
|
else:
|
|
to_delete.append('Pipfile')
|
|
|
|
try:
|
|
for file_or_dir in to_delete:
|
|
if os.path.isfile(file_or_dir):
|
|
os.remove(file_or_dir)
|
|
else:
|
|
shutil.rmtree(file_or_dir)
|
|
sys.exit(0)
|
|
except OSError as e:
|
|
sys.stdout.write(
|
|
'While attempting to remove file(s) an error occurred'
|
|
)
|
|
sys.stdout.write('Error: {}'.format(e))
|
|
|
|
|
|
if __name__ == '__main__':
|
|
clean_extra_package_management_files()
|
|
|