Skip to content

Commit 0da7344

Browse files
authored
Improve version check (#21)
1 parent 8b5ed23 commit 0da7344

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

opendbt/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ def run(args: list) -> dbtRunnerResult:
5656
rer: RunResult
5757

5858
_exception = result.exception if result.exception else None
59-
if (_exception is None and result.result and result.result.results and
59+
if (_exception is None and hasattr(result.result, 'results') and result.result.results and
6060
len(result.result.results) > 0 and result.result.results[0].message
6161
):
6262
_exception = DbtRuntimeError(result.result.results[0].message)

opendbt/dbt/__init__.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,21 @@
44

55
def patch_dbt():
66
# ================================================================================================================
7-
# Monkey Patching! Override dbt lib AdapterContainer.register_adapter method with new one above
7+
# Monkey Patching! Override dbt lib code with new one
88
# ================================================================================================================
9-
if Version(dbt.version.get_installed_version().to_version_string(skip_matcher=True)) < Version("1.8.0"):
9+
dbt_version = Version(dbt.version.get_installed_version().to_version_string(skip_matcher=True))
10+
if dbt_version >= Version("1.7.0") and dbt_version < Version("1.8.0"):
1011
from opendbt.dbt.v17.task.docs.generate import OpenDbtGenerateTask
1112
from opendbt.dbt.v17.adapters.factory import OpenDbtAdapterContainer
1213
dbt.task.generate.GenerateTask = OpenDbtGenerateTask
1314
dbt.adapters.factory.FACTORY = OpenDbtAdapterContainer()
14-
else:
15+
elif dbt_version >= Version("1.8.0") and dbt_version < Version("1.9.0"):
1516
from opendbt.dbt.v18.task.docs.generate import OpenDbtGenerateTask
1617
from opendbt.dbt.v18.adapters.factory import OpenDbtAdapterContainer
1718
dbt.task.docs.generate.GenerateTask = OpenDbtGenerateTask
1819
dbt.adapters.factory.FACTORY = OpenDbtAdapterContainer()
20+
else:
21+
raise Exception(
22+
f"Unsupported dbt version {dbt_version}, please make sure dbt version is supported/integrated by opendbt")
23+
24+
# shared code patches

0 commit comments

Comments
 (0)