19 lines
637 B
Python
19 lines
637 B
Python
from pathlib import Path
|
|
from .graph.manifest import WritableManifest
|
|
from typing import Optional
|
|
from dbt.exceptions import IncompatibleSchemaException
|
|
|
|
|
|
class PreviousState:
|
|
def __init__(self, path: Path):
|
|
self.path: Path = path
|
|
self.manifest: Optional[WritableManifest] = None
|
|
|
|
manifest_path = self.path / 'manifest.json'
|
|
if manifest_path.exists() and manifest_path.is_file():
|
|
try:
|
|
self.manifest = WritableManifest.read(str(manifest_path))
|
|
except IncompatibleSchemaException as exc:
|
|
exc.add_filename(str(manifest_path))
|
|
raise
|