@@ -67,7 +67,6 @@ def __init__(
67
67
else :
68
68
loader = package_loader
69
69
self .env : Environment = Environment (loader = loader , trim_blocks = True , lstrip_blocks = True )
70
- self .env .globals .update (utils = utils )
71
70
72
71
self .project_name : str = config .project_name_override or f"{ utils .kebab_case (openapi .title ).lower ()} -client"
73
72
self .project_dir : Path = Path .cwd ()
@@ -82,6 +81,15 @@ def __init__(
82
81
self .version : str = config .package_version_override or openapi .version
83
82
84
83
self .env .filters .update (TEMPLATE_FILTERS )
84
+ self .env .globals .update (
85
+ utils = utils ,
86
+ package_name = self .package_name ,
87
+ package_dir = self .package_dir ,
88
+ package_description = self .package_description ,
89
+ package_version = self .version ,
90
+ project_name = self .project_name ,
91
+ project_dir = self .project_dir ,
92
+ )
85
93
86
94
def build (self ) -> Sequence [GeneratorError ]:
87
95
"""Create the project from templates"""
@@ -144,9 +152,7 @@ def _create_package(self) -> None:
144
152
package_init = self .package_dir / "__init__.py"
145
153
146
154
package_init_template = self .env .get_template ("package_init.py.jinja" )
147
- package_init .write_text (
148
- package_init_template .render (description = self .package_description ), encoding = self .file_encoding
149
- )
155
+ package_init .write_text (package_init_template .render (), encoding = self .file_encoding )
150
156
151
157
if self .meta != MetaType .NONE :
152
158
pytyped = self .package_dir / "py.typed"
@@ -168,9 +174,7 @@ def _build_metadata(self) -> None:
168
174
readme = self .project_dir / "README.md"
169
175
readme_template = self .env .get_template ("README.md.jinja" )
170
176
readme .write_text (
171
- readme_template .render (
172
- project_name = self .project_name , description = self .package_description , package_name = self .package_name
173
- ),
177
+ readme_template .render (),
174
178
encoding = self .file_encoding ,
175
179
)
176
180
@@ -184,25 +188,15 @@ def _build_pyproject_toml(self, *, use_poetry: bool) -> None:
184
188
pyproject_template = self .env .get_template (template )
185
189
pyproject_path = self .project_dir / "pyproject.toml"
186
190
pyproject_path .write_text (
187
- pyproject_template .render (
188
- project_name = self .project_name ,
189
- package_name = self .package_name ,
190
- version = self .version ,
191
- description = self .package_description ,
192
- ),
191
+ pyproject_template .render (),
193
192
encoding = self .file_encoding ,
194
193
)
195
194
196
195
def _build_setup_py (self ) -> None :
197
196
template = self .env .get_template ("setup.py.jinja" )
198
197
path = self .project_dir / "setup.py"
199
198
path .write_text (
200
- template .render (
201
- project_name = self .project_name ,
202
- package_name = self .package_name ,
203
- version = self .version ,
204
- description = self .package_description ,
205
- ),
199
+ template .render (),
206
200
encoding = self .file_encoding ,
207
201
)
208
202
@@ -247,7 +241,6 @@ def _build_api(self) -> None:
247
241
api_init_template = self .env .get_template ("api_init.py.jinja" )
248
242
api_init_path .write_text (
249
243
api_init_template .render (
250
- package_name = self .package_name ,
251
244
endpoint_collections_by_tag = endpoint_collections_by_tag ,
252
245
),
253
246
encoding = self .file_encoding ,
@@ -261,7 +254,7 @@ def _build_api(self) -> None:
261
254
endpoint_init_path = tag_dir / "__init__.py"
262
255
endpoint_init_template = self .env .get_template ("endpoint_init.py.jinja" )
263
256
endpoint_init_path .write_text (
264
- endpoint_init_template .render (package_name = self . package_name , endpoint_collection = collection ),
257
+ endpoint_init_template .render (endpoint_collection = collection ),
265
258
encoding = self .file_encoding ,
266
259
)
267
260
(tag_dir / "__init__.py" ).touch ()
0 commit comments