mirror of
https://github.com/wassname/cookiecutter-data-science.git
synced 2026-06-28 07:00:55 +08:00
08d357c5fa
Official support for Python 2 ended on Jan 1, 2020 (see https://www.python.org/doc/sunset-python-2/ for more info). This change does not prevent anybody from using Python 2, but we should not be encouraging new projects to use it.
46 lines
1.0 KiB
Python
46 lines
1.0 KiB
Python
import sys
|
|
import pytest
|
|
import shutil
|
|
from pathlib import Path
|
|
from cookiecutter import main
|
|
|
|
CCDS_ROOT = Path(__file__).parents[1].resolve()
|
|
|
|
args = {
|
|
'project_name': 'DrivenData',
|
|
'author_name': 'DrivenData',
|
|
'open_source_license': 'BSD-3-Clause',
|
|
}
|
|
|
|
|
|
def system_check(basename):
|
|
platform = sys.platform
|
|
if 'linux' in platform:
|
|
basename = basename.lower()
|
|
return basename
|
|
|
|
|
|
@pytest.fixture(scope='class', params=[{}, args])
|
|
def default_baked_project(tmpdir_factory, request):
|
|
temp = tmpdir_factory.mktemp('data-project')
|
|
out_dir = Path(temp).resolve()
|
|
|
|
pytest.param = request.param
|
|
main.cookiecutter(
|
|
str(CCDS_ROOT),
|
|
no_input=True,
|
|
extra_context=pytest.param,
|
|
output_dir=out_dir
|
|
)
|
|
|
|
pn = pytest.param.get('project_name') or 'project_name'
|
|
|
|
# project name gets converted to lower case on Linux but not Mac
|
|
pn = system_check(pn)
|
|
|
|
proj = out_dir / pn
|
|
request.cls.path = proj
|
|
yield
|
|
|
|
# cleanup after
|
|
shutil.rmtree(out_dir) |