Skip to content

Commit d1120f2

Browse files
committed
templates / globaly propagate package metadata vars
1 parent cdd304c commit d1120f2

File tree

5 files changed

+20
-27
lines changed

5 files changed

+20
-27
lines changed

Diff for: openapi_python_client/__init__.py

+14-21
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,6 @@ def __init__(
6767
else:
6868
loader = package_loader
6969
self.env: Environment = Environment(loader=loader, trim_blocks=True, lstrip_blocks=True)
70-
self.env.globals.update(utils=utils)
7170

7271
self.project_name: str = config.project_name_override or f"{utils.kebab_case(openapi.title).lower()}-client"
7372
self.project_dir: Path = Path.cwd()
@@ -82,6 +81,15 @@ def __init__(
8281
self.version: str = config.package_version_override or openapi.version
8382

8483
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+
)
8593

8694
def build(self) -> Sequence[GeneratorError]:
8795
"""Create the project from templates"""
@@ -144,9 +152,7 @@ def _create_package(self) -> None:
144152
package_init = self.package_dir / "__init__.py"
145153

146154
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)
150156

151157
if self.meta != MetaType.NONE:
152158
pytyped = self.package_dir / "py.typed"
@@ -168,9 +174,7 @@ def _build_metadata(self) -> None:
168174
readme = self.project_dir / "README.md"
169175
readme_template = self.env.get_template("README.md.jinja")
170176
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(),
174178
encoding=self.file_encoding,
175179
)
176180

@@ -184,25 +188,15 @@ def _build_pyproject_toml(self, *, use_poetry: bool) -> None:
184188
pyproject_template = self.env.get_template(template)
185189
pyproject_path = self.project_dir / "pyproject.toml"
186190
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(),
193192
encoding=self.file_encoding,
194193
)
195194

196195
def _build_setup_py(self) -> None:
197196
template = self.env.get_template("setup.py.jinja")
198197
path = self.project_dir / "setup.py"
199198
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(),
206200
encoding=self.file_encoding,
207201
)
208202

@@ -247,7 +241,6 @@ def _build_api(self) -> None:
247241
api_init_template = self.env.get_template("api_init.py.jinja")
248242
api_init_path.write_text(
249243
api_init_template.render(
250-
package_name=self.package_name,
251244
endpoint_collections_by_tag=endpoint_collections_by_tag,
252245
),
253246
encoding=self.file_encoding,
@@ -261,7 +254,7 @@ def _build_api(self) -> None:
261254
endpoint_init_path = tag_dir / "__init__.py"
262255
endpoint_init_template = self.env.get_template("endpoint_init.py.jinja")
263256
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),
265258
encoding=self.file_encoding,
266259
)
267260
(tag_dir / "__init__.py").touch()

Diff for: openapi_python_client/templates/README.md.jinja

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# {{ project_name }}
2-
{{ description }}
2+
{{ package_description }}
33

44
## Usage
55
First, create a client:
+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
""" {{ description }} """
1+
""" {{ package_description }} """
22
from .client import AuthenticatedClient, Client

Diff for: openapi_python_client/templates/pyproject.toml.jinja

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[tool.poetry]
22
name = "{{ project_name }}"
3-
version = "{{ version }}"
4-
description = "{{ description }}"
3+
version = "{{ package_version }}"
4+
description = "{{ package_description }}"
55

66
authors = []
77

Diff for: openapi_python_client/templates/setup.py.jinja

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ long_description = (here / "README.md").read_text(encoding="utf-8")
77

88
setup(
99
name="{{ project_name }}",
10-
version="{{ version }}",
11-
description="{{ description }}",
10+
version="{{ package_version }}",
11+
description="{{ package_description }}",
1212
long_description=long_description,
1313
long_description_content_type="text/markdown",
1414
package_dir={"": "{{ package_name }}"},

0 commit comments

Comments
 (0)