@@ -44,7 +44,6 @@ class Project:
44
44
project_name_override : Optional [str ] = None
45
45
package_name_override : Optional [str ] = None
46
46
package_version_override : Optional [str ] = None
47
- file_encoding : str
48
47
49
48
def __init__ (
50
49
self ,
@@ -56,7 +55,7 @@ def __init__(
56
55
) -> None :
57
56
self .openapi : GeneratorData = openapi
58
57
self .meta : MetaType = meta
59
- self .encoding = file_encoding
58
+ self .file_encoding = file_encoding
60
59
61
60
package_loader = PackageLoader (__package__ )
62
61
loader : BaseLoader
@@ -147,16 +146,16 @@ def _create_package(self) -> None:
147
146
148
147
package_init_template = self .env .get_template ("package_init.py.jinja" )
149
148
package_init .write_text (
150
- package_init_template .render (description = self .package_description ), encoding = self .encoding
149
+ package_init_template .render (description = self .package_description ), encoding = self .file_encoding
151
150
)
152
151
153
152
if self .meta != MetaType .NONE :
154
153
pytyped = self .package_dir / "py.typed"
155
- pytyped .write_text ("# Marker file for PEP 561" , encoding = self .encoding )
154
+ pytyped .write_text ("# Marker file for PEP 561" , encoding = self .file_encoding )
156
155
157
156
types_template = self .env .get_template ("types.py.jinja" )
158
157
types_path = self .package_dir / "types.py"
159
- types_path .write_text (types_template .render (), encoding = self .encoding )
158
+ types_path .write_text (types_template .render (), encoding = self .file_encoding )
160
159
161
160
def _build_metadata (self ) -> None :
162
161
if self .meta == MetaType .NONE :
@@ -173,13 +172,13 @@ def _build_metadata(self) -> None:
173
172
readme_template .render (
174
173
project_name = self .project_name , description = self .package_description , package_name = self .package_name
175
174
),
176
- encoding = self .encoding ,
175
+ encoding = self .file_encoding ,
177
176
)
178
177
179
178
# .gitignore
180
179
git_ignore_path = self .project_dir / ".gitignore"
181
180
git_ignore_template = self .env .get_template (".gitignore.jinja" )
182
- git_ignore_path .write_text (git_ignore_template .render (), encoding = self .encoding )
181
+ git_ignore_path .write_text (git_ignore_template .render (), encoding = self .file_encoding )
183
182
184
183
def _build_pyproject_toml (self , * , use_poetry : bool ) -> None :
185
184
template = "pyproject.toml.jinja" if use_poetry else "pyproject_no_poetry.toml.jinja"
@@ -192,7 +191,7 @@ def _build_pyproject_toml(self, *, use_poetry: bool) -> None:
192
191
version = self .version ,
193
192
description = self .package_description ,
194
193
),
195
- encoding = self .encoding ,
194
+ encoding = self .file_encoding ,
196
195
)
197
196
198
197
def _build_setup_py (self ) -> None :
@@ -205,7 +204,7 @@ def _build_setup_py(self) -> None:
205
204
version = self .version ,
206
205
description = self .package_description ,
207
206
),
208
- encoding = self .encoding ,
207
+ encoding = self .file_encoding ,
209
208
)
210
209
211
210
def _build_models (self ) -> None :
@@ -218,7 +217,7 @@ def _build_models(self) -> None:
218
217
model_template = self .env .get_template ("model.py.jinja" )
219
218
for model in self .openapi .models .values ():
220
219
module_path = models_dir / f"{ model .reference .module_name } .py"
221
- module_path .write_text (model_template .render (model = model ), encoding = self .encoding )
220
+ module_path .write_text (model_template .render (model = model ), encoding = self .file_encoding )
222
221
imports .append (import_string_from_reference (model .reference ))
223
222
224
223
# Generate enums
@@ -227,25 +226,25 @@ def _build_models(self) -> None:
227
226
for enum in self .openapi .enums .values ():
228
227
module_path = models_dir / f"{ enum .reference .module_name } .py"
229
228
if enum .value_type is int :
230
- module_path .write_text (int_enum_template .render (enum = enum ), encoding = self .encoding )
229
+ module_path .write_text (int_enum_template .render (enum = enum ), encoding = self .file_encoding )
231
230
else :
232
- module_path .write_text (str_enum_template .render (enum = enum ), encoding = self .encoding )
231
+ module_path .write_text (str_enum_template .render (enum = enum ), encoding = self .file_encoding )
233
232
imports .append (import_string_from_reference (enum .reference ))
234
233
235
234
models_init_template = self .env .get_template ("models_init.py.jinja" )
236
- models_init .write_text (models_init_template .render (imports = imports ), encoding = self .encoding )
235
+ models_init .write_text (models_init_template .render (imports = imports ), encoding = self .file_encoding )
237
236
238
237
def _build_api (self ) -> None :
239
238
# Generate Client
240
239
client_path = self .package_dir / "client.py"
241
240
client_template = self .env .get_template ("client.py.jinja" )
242
- client_path .write_text (client_template .render (), encoding = self .encoding )
241
+ client_path .write_text (client_template .render (), encoding = self .file_encoding )
243
242
244
243
# Generate endpoints
245
244
api_dir = self .package_dir / "api"
246
245
api_dir .mkdir ()
247
246
api_init = api_dir / "__init__.py"
248
- api_init .write_text ('""" Contains methods for accessing the API """' , encoding = self .encoding )
247
+ api_init .write_text ('""" Contains methods for accessing the API """' , encoding = self .file_encoding )
249
248
250
249
endpoint_template = self .env .get_template ("endpoint_module.py.jinja" )
251
250
for tag , collection in self .openapi .endpoint_collections_by_tag .items ():
@@ -255,7 +254,7 @@ def _build_api(self) -> None:
255
254
256
255
for endpoint in collection .endpoints :
257
256
module_path = tag_dir / f"{ snake_case (endpoint .name )} .py"
258
- module_path .write_text (endpoint_template .render (endpoint = endpoint ), encoding = self .encoding )
257
+ module_path .write_text (endpoint_template .render (endpoint = endpoint ), encoding = self .file_encoding )
259
258
260
259
261
260
def _get_project_for_url_or_path (
0 commit comments