Skip to content

Commit a49aa7b

Browse files
authored
Remove lazy imports (#1022)
After a few refactoring we can get rid of the lazy import callback and simply import objects that we need directly.
1 parent 2e2b1e1 commit a49aa7b

File tree

636 files changed

+2210
-6030
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

636 files changed

+2210
-6030
lines changed

.generator/src/generator/templates/model_generic.j2

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,4 @@
11
{%- set refs = get_references_for_model(model, name) %}
2-
{%- if refs %}
3-
def lazy_import():
4-
{%- for ref in refs %}
5-
from {{ package }}.{{ version }}.model.{{ ref|safe_snake_case }} import {{ ref }}
6-
{%- endfor %}
7-
{# keep new line #}
8-
{%- for ref in refs %}
9-
globals()["{{ ref }}"] = {{ ref }}
10-
{%- endfor %}
11-
{%- endif %}
122

133
class {{ name }}(ModelNormal):
144

@@ -59,7 +49,9 @@ class {{ name }}(ModelNormal):
5949
@cached_property
6050
def additional_properties_type(_):
6151
{%- if refs %}
62-
lazy_import()
52+
{%- for ref in refs %}
53+
from {{ package }}.{{ version }}.model.{{ ref|safe_snake_case }} import {{ ref }}
54+
{%- endfor %}
6355
{%- endif %}
6456
return ({{ type_to_python(model["additionalProperties"]) }},)
6557
{%- endif %}
@@ -72,7 +64,9 @@ class {{ name }}(ModelNormal):
7264
@cached_property
7365
def openapi_types(_):
7466
{%- if refs %}
75-
lazy_import()
67+
{%- for ref in refs %}
68+
from {{ package }}.{{ version }}.model.{{ ref|safe_snake_case }} import {{ ref }}
69+
{%- endfor %}
7670
{%- endif %}
7771
return {
7872
{%- for attr in model.properties %}

.generator/src/generator/templates/model_oneof.j2

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,4 @@
11
{%- set refs = get_oneof_models(model) %}
2-
{%- if refs %}
3-
def lazy_import():
4-
{%- for ref in refs %}
5-
from {{ package }}.{{ version }}.model.{{ ref|safe_snake_case }} import {{ ref }}
6-
{%- endfor %}
7-
{%- for ref in refs %}
8-
globals()["{{ ref }}"] = {{ ref }}
9-
{%- endfor %}
10-
{%- endif %}
112

123
class {{ name }}(ModelComposed):
134

@@ -48,7 +39,9 @@ class {{ name }}(ModelComposed):
4839
# classes don't exist yet because their module has not finished
4940
# loading
5041
{%- if refs %}
51-
lazy_import()
42+
{%- for ref in refs %}
43+
from {{ package }}.{{ version }}.model.{{ ref|safe_snake_case }} import {{ ref }}
44+
{%- endfor %}
5245
{%- endif %}
5346
return {
5447
"anyOf": [],

.generator/src/generator/templates/model_simple.j2

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,4 @@
11
{%- set ref = get_type_for_items(model) %}
2-
{%- if ref %}
3-
def lazy_import():
4-
from {{ package }}.{{ version }}.model.{{ ref|safe_snake_case }} import {{ ref }}
5-
6-
globals()["{{ ref }}"] = {{ ref }}
7-
{%- endif %}
82

93
class {{ name }}(ModelSimple):
104

@@ -52,7 +46,7 @@ class {{ name }}(ModelSimple):
5246
@cached_property
5347
def openapi_types(_):
5448
{%- if ref %}
55-
lazy_import()
49+
from {{ package }}.{{ version }}.model.{{ ref|safe_snake_case }} import {{ ref }}
5650
return {
5751
"value": ([{{ ref }}],),
5852
}

src/datadog_api_client/v1/model/alert_graph_widget_definition.py

Lines changed: 5 additions & 13 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/datadog_api_client/v1/model/alert_value_widget_definition.py

Lines changed: 3 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/datadog_api_client/v1/model/api_key_list_response.py

Lines changed: 2 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/datadog_api_client/v1/model/api_key_response.py

Lines changed: 2 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/datadog_api_client/v1/model/apm_stats_query_column_type.py

Lines changed: 3 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/datadog_api_client/v1/model/apm_stats_query_definition.py

Lines changed: 3 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/datadog_api_client/v1/model/application_key_list_response.py

Lines changed: 2 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)