File tree Expand file tree Collapse file tree 2 files changed +22
-2
lines changed
Expand file tree Collapse file tree 2 files changed +22
-2
lines changed Original file line number Diff line number Diff line change 1414
1515from parsons import Table
1616from parsons .databases .database_connector import DatabaseConnector
17+ from parsons .utilities .dbt .models import EnhancedNodeResult
1718
1819logger = logging .getLogger (__name__ )
1920
@@ -100,7 +101,7 @@ def format_command_result(
100101 log_message += "\n Error messages:\n ```{}```" .format (
101102 "\n \n " .join (
102103 [
103- i .node .name + ": " + (i . message or "" )
104+ i .node .name + ": " + (EnhancedNodeResult . log_message ( i ) or "" )
104105 for i in [* manifest .errors , * manifest .fails ]
105106 ]
106107 )
@@ -109,7 +110,12 @@ def format_command_result(
109110 # Warnings
110111 if manifest .warnings :
111112 log_message += "\n Warn messages:\n ```{}```" .format (
112- "\n \n " .join ([i .node .name + ": " + (i .message or "" ) for i in manifest .warnings ])
113+ "\n \n " .join (
114+ [
115+ i .node .name + ": " + (EnhancedNodeResult .log_message (i ) or "" )
116+ for i in manifest .warnings
117+ ]
118+ )
113119 )
114120
115121 # Skips
Original file line number Diff line number Diff line change 33import collections
44from dbt .contracts .graph .manifest import Manifest as dbtManifest
55from dbt .contracts .results import NodeResult
6+ from dbt .contracts .results import SourceFreshnessResult
67
78
89class Manifest :
@@ -74,3 +75,16 @@ def total_slot_hours(self) -> float:
7475 sum ([node .adapter_response .get ("slot_ms" , 0 ) for node in self .dbt_manifest ]) / 3600000
7576 )
7677 return result
78+
79+
80+ class EnhancedNodeResult (NodeResult ):
81+ def log_message (self ) -> str | None :
82+ """Helper method to generate message for logs."""
83+ if isinstance (self , SourceFreshnessResult ):
84+ freshness_config = self .node .freshness
85+ time_config = getattr (freshness_config , self .status + "_after" )
86+ result = f"No new records for { int (self .age / 86400 )} days, { self .status } after { time_config .count } { time_config .period } s."
87+ else :
88+ result = self .message
89+
90+ return result
You can’t perform that action at this time.
0 commit comments