Skip to content

Commit

Permalink
Improve version check (#21)
Browse files Browse the repository at this point in the history
  • Loading branch information
ismailsimsek authored Oct 16, 2024
1 parent 8b5ed23 commit 0da7344
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 4 deletions.
2 changes: 1 addition & 1 deletion opendbt/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ def run(args: list) -> dbtRunnerResult:
rer: RunResult

_exception = result.exception if result.exception else None
if (_exception is None and result.result and result.result.results and
if (_exception is None and hasattr(result.result, 'results') and result.result.results and
len(result.result.results) > 0 and result.result.results[0].message
):
_exception = DbtRuntimeError(result.result.results[0].message)
Expand Down
12 changes: 9 additions & 3 deletions opendbt/dbt/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,21 @@

def patch_dbt():
# ================================================================================================================
# Monkey Patching! Override dbt lib AdapterContainer.register_adapter method with new one above
# Monkey Patching! Override dbt lib code with new one
# ================================================================================================================
if Version(dbt.version.get_installed_version().to_version_string(skip_matcher=True)) < Version("1.8.0"):
dbt_version = Version(dbt.version.get_installed_version().to_version_string(skip_matcher=True))
if dbt_version >= Version("1.7.0") and dbt_version < Version("1.8.0"):
from opendbt.dbt.v17.task.docs.generate import OpenDbtGenerateTask
from opendbt.dbt.v17.adapters.factory import OpenDbtAdapterContainer
dbt.task.generate.GenerateTask = OpenDbtGenerateTask
dbt.adapters.factory.FACTORY = OpenDbtAdapterContainer()
else:
elif dbt_version >= Version("1.8.0") and dbt_version < Version("1.9.0"):
from opendbt.dbt.v18.task.docs.generate import OpenDbtGenerateTask
from opendbt.dbt.v18.adapters.factory import OpenDbtAdapterContainer
dbt.task.docs.generate.GenerateTask = OpenDbtGenerateTask
dbt.adapters.factory.FACTORY = OpenDbtAdapterContainer()
else:
raise Exception(
f"Unsupported dbt version {dbt_version}, please make sure dbt version is supported/integrated by opendbt")

# shared code patches

0 comments on commit 0da7344

Please sign in to comment.