Skip to content

Commit d0caf9d

Browse files
authored
#266: SLCParameter should be only key/value pairs (#267)
fixes #266
1 parent 1763f95 commit d0caf9d

File tree

14 files changed

+83
-95
lines changed

14 files changed

+83
-95
lines changed

.github/workflows/check_version.yaml

Lines changed: 0 additions & 23 deletions
This file was deleted.

doc/changes/changelog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Changes
22

33
* [unreleased](unreleased.md)
4+
* [2.0.0](changes_2.0.0)
45
* [1.1.0](changes_1.1.0.md)
56
* [1.0.0](changes_1.0.0.md)
67
* [0.21.0](changes_0.21.0.md)

doc/changes/changes_2.0.0.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# 2.0.0 - 2025-02-04
2+
3+
Code name: Fixed Language Definition Model
4+
5+
## Summary
6+
7+
This release has a small fix for the Language Definition Model and increases it's schema version to 2.
8+
9+
## Refactorings
10+
11+
- #266: Fix SLCParameter and LanguageDefinition

exasol/slc/internal/tasks/upload/language_def_parser.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ def _parse_builtin_language_definition(url: str) -> BuiltInLanguageDefinitionURL
2727

2828

2929
def _build_udf_client_abs_path_from_fragments(
30-
fragment_parts: Tuple[str, ...]
30+
fragment_parts: Tuple[str, ...],
3131
) -> UdfClientBucketPath:
3232
if len(fragment_parts) < 4:
3333
raise ValueError(
@@ -101,8 +101,9 @@ def parse_language_definition(
101101
if parsed_url.hostname:
102102
raise ValueError(f"Invalid language definition: '{lang_def}'")
103103
slc_parameters = [
104-
SLCParameter(key=key, value=value)
104+
SLCParameter(key=key, value=v)
105105
for key, value in parse_qs(parsed_url.query).items()
106+
for v in value
106107
]
107108
try:
108109
udf_client_path = _parse_udf_client_path(parsed_url.fragment)

exasol/slc/models/language_definition_common.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import datetime
22
from enum import Enum
33
from pathlib import PurePosixPath
4-
from typing import List
54

65
from pydantic import BaseModel
76

@@ -18,7 +17,7 @@ class SLCParameter(BaseModel):
1817
"""
1918

2019
key: str
21-
value: List[str]
20+
value: str
2221

2322

2423
class UdfClientRelativePath(BaseModel):

exasol/slc/models/language_definition_components.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ class LanguageDefinitionURL:
5050
udf_client_path: Union[UdfClientBucketPath, UdfClientRelativePath]
5151

5252
def __str__(self) -> str:
53-
query_params = {p.key: v for p in self.parameters for v in p.value}
53+
query_params = [(p.key, p.value) for p in self.parameters]
5454
query_string = urlencode(query_params)
5555
url = urlunparse(
5656
ParseResult(

exasol/slc/models/language_definition_model.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
UdfClientRelativePath,
1111
)
1212

13-
LANGUAGE_DEFINITON_SCHEMA_VERSION = 1
13+
LANGUAGE_DEFINITON_SCHEMA_VERSION = 2
1414

1515

1616
class LanguageDefinition(BaseModel):
@@ -20,7 +20,6 @@ class LanguageDefinition(BaseModel):
2020

2121
protocol: str
2222
aliases: List[str]
23-
language: SLCLanguage
2423
parameters: List[SLCParameter]
2524
udf_client_path: UdfClientRelativePath
2625
deprecation: Optional[DeprecationInfo]

exasol/slc/version.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
# * or "poetry run version-check <path/version.py> --fix"
55
# Do not edit this file manually!
66
# If you need to change the version, do so in the project.toml, e.g. by using `poetry version X.Y.Z`.
7-
MAJOR = 1
8-
MINOR = 1
7+
MAJOR = 2
8+
MINOR = 0
99
PATCH = 0
1010
VERSION = f"{MAJOR}.{MINOR}.{PATCH}"
1111
__version__ = VERSION

poetry.lock

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

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "exasol-script-languages-container-tool"
3-
version = "1.1.0"
3+
version = "2.0.0"
44
description = "Script Languages Container Tool"
55

66
license = "MIT"

0 commit comments

Comments
 (0)