Skip to content

Commit e108e07

Browse files
authored
bootstrap (#190)
1 parent 22d2526 commit e108e07

File tree

1 file changed

+47
-36
lines changed

1 file changed

+47
-36
lines changed

bootstrap/bootstrap.py

Lines changed: 47 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import os
22
import sys
3+
import platform
34
import argparse
5+
# import shutil
46
# from git import Repo
57

68

@@ -32,30 +34,39 @@ def git_repo(self):
3234
def renamefiles(self):
3335
# Rename all files starting with diabetes_regression with project name
3436
strtoreplace = "diabetes_regression"
35-
dirs = [".pipelines", r"ml_service\pipelines"]
37+
dirs = [".pipelines", r"ml_service/pipelines"]
3638
for dir in dirs:
37-
dirpath = os.path.join(self._project_directory, dir)
39+
normDir = os.path.normpath(dir)
40+
dirpath = os.path.join(self._project_directory, normDir)
3841
for filename in os.listdir(dirpath):
3942
if(filename.find(strtoreplace) != -1):
40-
src = os.path.join(self._project_directory, dir, filename)
43+
src = os.path.join(self._project_directory, normDir, filename) # NOQA: E501
4144
dst = os.path.join(self._project_directory,
42-
dir, filename.replace(strtoreplace, self._project_name, 1)) # NOQA: E501
45+
normDir, filename.replace(strtoreplace, self._project_name, 1)) # NOQA: E501
4346
os.rename(src, dst)
4447

4548
def renamedir(self):
46-
# Rename any directory with diabetes_regression with project name
47-
dirs = ["diabetes_regression"]
48-
for dir in dirs:
49-
src = os.path.join(self._project_directory, dir)
50-
dst = os.path.join(self._project_directory, self._project_name)
51-
os.rename(src, dst)
49+
dir = "diabetes_regression"
50+
src = os.path.join(self._project_directory, dir)
51+
for path, subdirs, files in os.walk(src):
52+
for name in files:
53+
newPath = path.replace(dir, self._project_name)
54+
if (not (os.path.exists(newPath))):
55+
os.mkdir(newPath)
56+
file_path = os.path.join(path, name)
57+
new_name = os.path.join(newPath, name)
58+
os.rename(file_path, new_name)
5259

5360
def deletedir(self):
5461
# Delete unwanted directories
55-
dirs = ["docs", r"diabetes_regression\training\R"]
62+
dirs = ["docs", r"diabetes_regression"]
63+
if (platform.system() == "Windows"):
64+
cmd = 'rmdir /S /Q "{}"'
65+
else:
66+
cmd = 'rm -r "{}"'
5667
for dir in dirs:
5768
os.system(
58-
'rmdir /S /Q "{}"'.format(os.path.join(self._project_directory, dir))) # NOQA: E501
69+
cmd.format(os.path.join(self._project_directory, os.path.normpath(dir)))) # NOQA: E501
5970

6071
def cleandir(self):
6172
# Clean up directories
@@ -79,33 +90,33 @@ def validateargs(self):
7990
def replaceprojectname(project_dir, project_name, rename_name):
8091
# Replace instances of rename_name within files with project_name
8192
dirs = [r".env.example",
82-
r".pipelines\azdo-base-pipeline.yml",
83-
r".pipelines\azdo-pr-build-train.yml",
84-
r".pipelines\diabetes_regression-ci-build-train.yml",
85-
r".pipelines\diabetes_regression-ci-image.yml",
86-
r".pipelines\diabetes_regression-template-get-model-version.yml", # NOQA: E501
87-
r".pipelines\diabetes_regression-variables.yml",
88-
r"environment_setup\Dockerfile",
89-
r"environment_setup\install_requirements.sh",
90-
r"ml_service\pipelines\diabetes_regression_build_train_pipeline_with_r_on_dbricks.py", # NOQA: E501
91-
r"ml_service\pipelines\diabetes_regression_build_train_pipeline_with_r.py", # NOQA: E501
92-
r"ml_service\pipelines\diabetes_regression_build_train_pipeline.py", # NOQA: E501
93-
r"ml_service\pipelines\diabetes_regression_verify_train_pipeline.py", # NOQA: E501
94-
r"ml_service\util\create_scoring_image.py",
95-
r"diabetes_regression\azureml_environment.json",
96-
r"diabetes_regression\conda_dependencies.yml",
97-
r"diabetes_regression\evaluate\evaluate_model.py",
98-
r"diabetes_regression\register\register_model.py",
99-
r"diabetes_regression\training\test_train.py"] # NOQA: E501
100-
101-
for file in dirs:
102-
fin = open(os.path.join(project_dir, file),
93+
r".pipelines/azdo-base-pipeline.yml",
94+
r".pipelines/azdo-pr-build-train.yml",
95+
r".pipelines/diabetes_regression-ci-build-train.yml",
96+
r".pipelines/diabetes_regression-ci-image.yml",
97+
r".pipelines/diabetes_regression-template-get-model-version.yml", # NOQA: E501
98+
r".pipelines/diabetes_regression-variables.yml",
99+
r"environment_setup/Dockerfile",
100+
r"environment_setup/install_requirements.sh",
101+
r"ml_service/pipelines/diabetes_regression_build_train_pipeline_with_r_on_dbricks.py", # NOQA: E501
102+
r"ml_service/pipelines/diabetes_regression_build_train_pipeline_with_r.py", # NOQA: E501
103+
r"ml_service/pipelines/diabetes_regression_build_train_pipeline.py", # NOQA: E501
104+
r"ml_service/pipelines/diabetes_regression_verify_train_pipeline.py", # NOQA: E501
105+
r"ml_service/util/create_scoring_image.py",
106+
r"diabetes_regression/azureml_environment.json",
107+
r"diabetes_regression/conda_dependencies.yml",
108+
r"diabetes_regression/evaluate/evaluate_model.py",
109+
r"diabetes_regression/register/register_model.py",
110+
r"diabetes_regression/training/test_train.py"] # NOQA: E501
111+
112+
for dir in dirs:
113+
file = os.path.join(project_dir, os.path.normpath(dir))
114+
fin = open(file,
103115
"rt", encoding="utf8")
104116
data = fin.read()
105117
data = data.replace(rename_name, project_name)
106118
fin.close()
107-
fin = open(os.path.join(project_dir, file),
108-
"wt", encoding="utf8")
119+
fin = open(os.path.join(project_dir, file), "wt", encoding="utf8") # NOQA: E501
109120
fin.write(data)
110121
fin.close()
111122

@@ -127,9 +138,9 @@ def main(args):
127138
replaceprojectname(project_directory, project_name,
128139
"diabetes_regression")
129140
replaceprojectname(project_directory, project_name, "diabetes")
130-
helper.deletedir()
131141
helper.renamefiles()
132142
helper.renamedir()
143+
helper.deletedir()
133144
except Exception as e:
134145
print(e)
135146
return 0

0 commit comments

Comments
 (0)