Adding a symlink to the data path on engine generate. close #93 (#97)
Great!!! Thanks!
diff --git a/marvin_python_toolbox/management/engine.py b/marvin_python_toolbox/management/engine.py
index 9ceabef..f15dbeb 100644
--- a/marvin_python_toolbox/management/engine.py
+++ b/marvin_python_toolbox/management/engine.py
@@ -444,6 +444,7 @@
_copy_processed_files(TEMPLATE_BASES[type_], dest, context)
_rename_dirs(dest, RENAME_DIRS, context)
+ _make_data_link(dest)
venv_name = None
if not no_env:
@@ -570,6 +571,12 @@
print('WARNING: Could not initialize repository!')
+def _make_data_link(dest):
+ data_path = os.environ['MARVIN_DATA_PATH']
+ data_link = os.path.join(dest, 'notebooks/data')
+ os.symlink(data_path, data_link)
+
+
@cli.command('engine-httpserver', help='Marvin http api server starts')
@click.option(
'--action',
diff --git a/marvin_python_toolbox/management/templates/python-engine/.gitignore b/marvin_python_toolbox/management/templates/python-engine/.gitignore
index 498ed68..05dd2a2 100644
--- a/marvin_python_toolbox/management/templates/python-engine/.gitignore
+++ b/marvin_python_toolbox/management/templates/python-engine/.gitignore
@@ -13,3 +13,4 @@
.DS_Store
.packages
.profiling
+notebooks/data
\ No newline at end of file
diff --git a/tests/management/test_engine.py b/tests/management/test_engine.py
index f2bbbc8..91cb8ed 100644
--- a/tests/management/test_engine.py
+++ b/tests/management/test_engine.py
@@ -26,6 +26,7 @@
from marvin_python_toolbox.management.engine import dryrun
from marvin_python_toolbox.management.engine import engine_httpserver
from marvin_python_toolbox.management.engine import _create_virtual_env
+from marvin_python_toolbox.management.engine import _make_data_link
import os
@@ -207,3 +208,10 @@
mockx.wait.assert_called_once()
# sys_mocked.exit.assert_called_once_with(1)
+
+@mock.patch('marvin_python_toolbox.management.engine.os.symlink')
+def test_make_data_link_call_symlink(mock_symlink):
+ os.environ['MARVIN_DATA_PATH'] = '/tmp/'
+ dest = '/tmp/'
+ _make_data_link(dest)
+ mock_symlink.assert_called_once_with('/tmp/', '/tmp/notebooks/data')