@@ -108,13 +108,11 @@ def build(self) -> Sequence[GeneratorError]:
108
108
"""Create the project from templates"""
109
109
110
110
print (f"Generating { self .project_dir } " )
111
- if self .config .overwrite :
112
- shutil .rmtree (self .project_dir , ignore_errors = True )
113
-
114
111
try :
115
112
self .project_dir .mkdir ()
116
113
except FileExistsError :
117
- return [GeneratorError (detail = "Directory already exists. Delete it or use the --overwrite option." )]
114
+ if not self .config .overwrite :
115
+ return [GeneratorError (detail = "Directory already exists. Delete it or use the --overwrite option." )]
118
116
self ._create_package ()
119
117
self ._build_metadata ()
120
118
self ._build_models ()
@@ -158,7 +156,7 @@ def _get_errors(self) -> list[GeneratorError]:
158
156
159
157
def _create_package (self ) -> None :
160
158
if self .package_dir != self .project_dir :
161
- self .package_dir .mkdir ()
159
+ self .package_dir .mkdir (exist_ok = True )
162
160
# Package __init__.py
163
161
package_init = self .package_dir / "__init__.py"
164
162
@@ -214,6 +212,7 @@ def _build_setup_py(self) -> None:
214
212
def _build_models (self ) -> None :
215
213
# Generate models
216
214
models_dir = self .package_dir / "models"
215
+ shutil .rmtree (models_dir , ignore_errors = True )
217
216
models_dir .mkdir ()
218
217
models_init = models_dir / "__init__.py"
219
218
imports = []
@@ -259,6 +258,7 @@ def _build_api(self) -> None:
259
258
260
259
# Generate endpoints
261
260
api_dir = self .package_dir / "api"
261
+ shutil .rmtree (api_dir , ignore_errors = True )
262
262
api_dir .mkdir ()
263
263
api_init_path = api_dir / "__init__.py"
264
264
api_init_template = self .env .get_template ("api_init.py.jinja" )
0 commit comments