1
1
import os
2
2
import sys
3
+ import platform
3
4
import argparse
5
+ # import shutil
4
6
# from git import Repo
5
7
6
8
@@ -32,30 +34,39 @@ def git_repo(self):
32
34
def renamefiles (self ):
33
35
# Rename all files starting with diabetes_regression with project name
34
36
strtoreplace = "diabetes_regression"
35
- dirs = [".pipelines" , r"ml_service\ pipelines" ]
37
+ dirs = [".pipelines" , r"ml_service/ pipelines" ]
36
38
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 )
38
41
for filename in os .listdir (dirpath ):
39
42
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
41
44
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
43
46
os .rename (src , dst )
44
47
45
48
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 )
52
59
53
60
def deletedir (self ):
54
61
# 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 "{}"'
56
67
for dir in dirs :
57
68
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
59
70
60
71
def cleandir (self ):
61
72
# Clean up directories
@@ -79,33 +90,33 @@ def validateargs(self):
79
90
def replaceprojectname (project_dir , project_name , rename_name ):
80
91
# Replace instances of rename_name within files with project_name
81
92
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 ,
103
115
"rt" , encoding = "utf8" )
104
116
data = fin .read ()
105
117
data = data .replace (rename_name , project_name )
106
118
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
109
120
fin .write (data )
110
121
fin .close ()
111
122
@@ -127,9 +138,9 @@ def main(args):
127
138
replaceprojectname (project_directory , project_name ,
128
139
"diabetes_regression" )
129
140
replaceprojectname (project_directory , project_name , "diabetes" )
130
- helper .deletedir ()
131
141
helper .renamefiles ()
132
142
helper .renamedir ()
143
+ helper .deletedir ()
133
144
except Exception as e :
134
145
print (e )
135
146
return 0
0 commit comments