ab-openapi-python-generator 2.2.0__py3-none-any.whl → 2.2.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -125,7 +125,7 @@ def write_data(data: ConversionResult, output: Union[str, Path], formatter: Form
125
125
  Creates:
126
126
  - models/ (and models/__init__.py)
127
127
  - clients/ (and clients/__init__.py)
128
- - exceptions.py (package root, if present)
128
+ - exceptions (package root/__init__.py)
129
129
  - __init__.py (package root)
130
130
  """
131
131
  out = Path(output)
@@ -363,34 +363,28 @@ def generate_clients(
363
363
  def _generate_service_operation(
364
364
  op: Operation, path_obj: PathItem, path_name: str, http_operation: str, async_type: bool
365
365
  ) -> ServiceOperation:
366
- try:
367
- path_level_params = []
368
- if hasattr(path_obj, "parameters") and path_obj.parameters is not None:
369
- path_level_params = [p for p in path_obj.parameters if p is not None]
370
- if path_level_params:
371
- existing_names = set()
372
- if op.parameters is not None:
373
- for p in op.parameters:
374
- if isinstance(p, (Parameter30, Parameter31)):
375
- existing_names.add(p.name)
376
- for p in path_level_params:
377
- if isinstance(p, (Parameter30, Parameter31)) and p.name not in existing_names:
378
- if op.parameters is None:
379
- op.parameters = [] # type: ignore
380
- op.parameters.append(p) # type: ignore
381
- except Exception:
382
- pass
366
+ path_level_params = []
367
+ if hasattr(path_obj, "parameters") and path_obj.parameters is not None:
368
+ path_level_params = [p for p in path_obj.parameters if p is not None]
369
+ if path_level_params:
370
+ existing_names = set()
371
+ if op.parameters is not None:
372
+ for p in op.parameters:
373
+ if isinstance(p, (Parameter30, Parameter31)):
374
+ existing_names.add(p.name)
375
+ for p in path_level_params:
376
+ if isinstance(p, (Parameter30, Parameter31)) and p.name not in existing_names:
377
+ if op.parameters is None:
378
+ op.parameters = [] # type: ignore
379
+ op.parameters.append(p) # type: ignore
383
380
 
384
381
  params = generate_params(op)
385
- try:
386
- placeholder_names = [m.group(1) for m in re.finditer(r"\{([^}/]+)\}", path_name)]
387
- existing_param_names = {p.split(":")[0].strip() for p in params.split(",") if ":" in p}
388
- for ph in placeholder_names:
389
- norm_ph = common.normalize_symbol(ph)
390
- if norm_ph not in existing_param_names and norm_ph:
391
- params = f"{norm_ph}: Any, " + params
392
- except Exception:
393
- pass
382
+ placeholder_names = [m.group(1) for m in re.finditer(r"\{([^}/]+)\}", path_name)]
383
+ existing_param_names = {p.split(":")[0].strip() for p in params.split(",") if ":" in p}
384
+ for ph in placeholder_names:
385
+ norm_ph = common.normalize_symbol(ph)
386
+ if norm_ph not in existing_param_names and norm_ph:
387
+ params = f"{norm_ph}: Any, " + params
394
388
 
395
389
  operation_id = generate_operation_id(op, http_operation, path_name)
396
390
  query_params = generate_query_params(op)
@@ -28,8 +28,9 @@ def create_jinja_env():
28
28
  if custom_template_path is not None
29
29
  else FileSystemLoader(TEMPLATE_PATH)
30
30
  ),
31
- autoescape=True,
31
+ autoescape=False,
32
32
  trim_blocks=True,
33
+ lstrip_blocks=True,
33
34
  )
34
35
 
35
36
  environment.filters["normalize_symbol"] = common.normalize_symbol
@@ -266,7 +266,7 @@ def _discover_discriminated_unions(
266
266
  register_union(schema_name, schema)
267
267
 
268
268
  # 2) inline/property discriminated unions
269
- for parent_name, parent_schema in components.schemas.items():
269
+ for _parent_name, parent_schema in components.schemas.items():
270
270
  props = getattr(parent_schema, "properties", None) or {}
271
271
  for prop_name, prop_schema in props.items():
272
272
  disc = getattr(prop_schema, "discriminator", None)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ab-openapi-python-generator
3
- Version: 2.2.0
3
+ Version: 2.2.1
4
4
  Summary: Openapi Python Generator
5
5
  Project-URL: Homepage, https://github.com/auth-broker/openapi-python-generator
6
6
  Project-URL: Repository, https://github.com/auth-broker/openapi-python-generator
@@ -1,18 +1,18 @@
1
1
  ab_openapi_python_generator/__init__.py,sha256=ph2EznAu4nkHFruaG542m4TQ_xAvDlf36uKxtAkVP1s,460
2
2
  ab_openapi_python_generator/__main__.py,sha256=Vz0FsBvxQtyozKkZZFK_ag8XgJcx-5obRm44ogjD0Wk,2500
3
3
  ab_openapi_python_generator/common.py,sha256=rh6AxoWyL-jb5WbeLhiohvFUBUnevn4N7ixHPKTIiDM,1221
4
- ab_openapi_python_generator/generate_data.py,sha256=bxu0eETzJOiucX8CP2fLWer-iYZ9MbJ0JLvCaQfbDK4,7947
4
+ ab_openapi_python_generator/generate_data.py,sha256=s71eWNKqEv5_v0Tfb2jnIME-JOag_Jz9gKxMGT5Veq8,7944
5
5
  ab_openapi_python_generator/models.py,sha256=b0AyJalyZSvGyi5f5xj5ymd_s9iR09kH1UurrJDxxck,2312
6
6
  ab_openapi_python_generator/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
7
  ab_openapi_python_generator/version_detector.py,sha256=PUDTpgDMHljUzxhLhMrCzHMdS3mgYQibWDiI4-vLRB4,2104
8
8
  ab_openapi_python_generator/language_converters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
9
  ab_openapi_python_generator/language_converters/python/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
- ab_openapi_python_generator/language_converters/python/client_generator.py,sha256=LZj13DuaNZ_PD0-JafKnXQb4GUU427_N40YQuR_eLpU,18009
10
+ ab_openapi_python_generator/language_converters/python/client_generator.py,sha256=6TknEdUyhsBvvez0Nn_JoZuj8rmwX3k1OEnNIAzJ09A,17817
11
11
  ab_openapi_python_generator/language_converters/python/common.py,sha256=gZHNhVC4OwGBlmr3h9Ffz3iILO1ykva9CrqhBfeYQXU,1616
12
12
  ab_openapi_python_generator/language_converters/python/exception_generator.py,sha256=a4iX53W8qhQ99Tkdk2sHPCq3HvtZp5JctTbObgsRX7I,653
13
13
  ab_openapi_python_generator/language_converters/python/generator.py,sha256=g-WTVLidcpDLqYW00VufmK0_jfRAM1ZVOSAcHyLAhOU,1664
14
- ab_openapi_python_generator/language_converters/python/jinja_config.py,sha256=yis4AERylbqVgb2WhDWr5tqiJ02OhzkEIaDekyTt4OE,1181
15
- ab_openapi_python_generator/language_converters/python/model_generator.py,sha256=LDO3X1tqdVOL6U9TXGbvyQCvrLoVXh-47K5PVXJO1HE,34542
14
+ ab_openapi_python_generator/language_converters/python/jinja_config.py,sha256=EsASthmgh_XrwR7GiDooTyTiiIoqScz9HymvUpNBYFY,1210
15
+ ab_openapi_python_generator/language_converters/python/model_generator.py,sha256=RoHO-R-fgmBL1osmzIoPEmYAUg-9BxUSThFSbUvQYoA,34543
16
16
  ab_openapi_python_generator/language_converters/python/templates/alias_union.jinja2,sha256=tndnrDky4srNRyB_HnUMZFW7HtoJvEfwIFteYIu0ELc,468
17
17
  ab_openapi_python_generator/language_converters/python/templates/async_client_httpx_pydantic_2.jinja2,sha256=UqLgyv4_Mk7LbvB9_wP4afmhWRRE-42w3mq1Sdbr8JY,2414
18
18
  ab_openapi_python_generator/language_converters/python/templates/discriminator_enum.jinja2,sha256=GJZ_ih1eURnJRPZq5P_3aKhYB5iJHymj2fpuNSdM90Y,163
@@ -24,8 +24,8 @@ ab_openapi_python_generator/language_converters/python/templates/sync_client_htt
24
24
  ab_openapi_python_generator/parsers/__init__.py,sha256=UITDIV7rp3HAA1M8kQc_9cNG6e1tS2vDa4mTKua6aMY,300
25
25
  ab_openapi_python_generator/parsers/openapi_30.py,sha256=2Hq5Vl3V4NUHKol-OO2nmt8-Fh6Lqk-hJUys8s-4UNI,1924
26
26
  ab_openapi_python_generator/parsers/openapi_31.py,sha256=jyKYAKDRkqKUPSeP6xZuM6ZCE0JjuowAe_pbm01iqWE,1924
27
- ab_openapi_python_generator-2.2.0.dist-info/METADATA,sha256=qi60lgC1kgF1sdurWjGVach3oUXMlqmi0nic1JASRhQ,5186
28
- ab_openapi_python_generator-2.2.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
29
- ab_openapi_python_generator-2.2.0.dist-info/entry_points.txt,sha256=zezbCs2qP8lSUbcjL6cN5XHoHxf9JTe15CZYH8Yuzo0,90
30
- ab_openapi_python_generator-2.2.0.dist-info/licenses/LICENSE,sha256=0myanGwJ2vUOZN12aN95o0My6XEysnnVlbKikYw3pHg,1070
31
- ab_openapi_python_generator-2.2.0.dist-info/RECORD,,
27
+ ab_openapi_python_generator-2.2.1.dist-info/METADATA,sha256=MZ9kTdhD6LGNqCphxqY2o59_hJyoSCLPhHwuzTFAl-A,5186
28
+ ab_openapi_python_generator-2.2.1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
29
+ ab_openapi_python_generator-2.2.1.dist-info/entry_points.txt,sha256=zezbCs2qP8lSUbcjL6cN5XHoHxf9JTe15CZYH8Yuzo0,90
30
+ ab_openapi_python_generator-2.2.1.dist-info/licenses/LICENSE,sha256=0myanGwJ2vUOZN12aN95o0My6XEysnnVlbKikYw3pHg,1070
31
+ ab_openapi_python_generator-2.2.1.dist-info/RECORD,,