diff --git a/mds/api/client.py b/mds/api/client.py index 885119b..7906ee9 100644 --- a/mds/api/client.py +++ b/mds/api/client.py @@ -133,8 +133,7 @@ def get(self, record_type, provider=None, **kwargs): The non-empty payloads (e.g. payloads with data records), one for each requested page. """ version = Version(kwargs.pop("version", self.version)) - if version.unsupported: - raise UnsupportedVersionError(version) + version.raise_if_unsupported() if version < _V040_: if record_type not in [STATUS_CHANGES, TRIPS]: @@ -225,8 +224,7 @@ def get_status_changes(self, provider=None, **kwargs): The non-empty payloads (e.g. payloads with data records), one for each requested page. """ version = Version(kwargs.get("version", self.version)) - if version.unsupported: - raise UnsupportedVersionError(version) + version.raise_if_unsupported() Client._params_check(STATUS_CHANGES, version, **kwargs) @@ -285,8 +283,7 @@ def get_trips(self, provider=None, **kwargs): The non-empty payloads (e.g. payloads with data records), one for each requested page. """ version = Version(kwargs.get("version", self.version)) - if version.unsupported: - raise UnsupportedVersionError(version) + version.raise_if_unsupported() Client._params_check(TRIPS, version, **kwargs) @@ -321,8 +318,8 @@ def get_events(self, provider=None, **kwargs): The non-empty payloads (e.g. payloads with data records), one for each requested page. """ version = Version(kwargs.get("version", self.version)) - if version.unsupported: - raise UnsupportedVersionError(version) + version.raise_if_unsupported() + if version < _V040_: print("The events endpoint is only supported in MDS Version 0.4.0 and beyond.") raise UnsupportedVersionError(version) diff --git a/mds/db/db.py b/mds/db/db.py index f9f487c..e51d045 100644 --- a/mds/db/db.py +++ b/mds/db/db.py @@ -180,8 +180,7 @@ def load(self, source, record_type, table, **kwargs): self """ version = Version(kwargs.pop("version", self.version)) - if version.unsupported: - raise UnsupportedVersionError(version) + version.raise_if_unsupported() if "stage_first" not in kwargs: kwargs["stage_first"] = self.stage_first diff --git a/mds/db/loaders.py b/mds/db/loaders.py index f94f7c4..b1f376a 100644 --- a/mds/db/loaders.py +++ b/mds/db/loaders.py @@ -78,8 +78,7 @@ def load(self, source, **kwargs): engine = kwargs.pop("engine") version = Version(kwargs.get("version", Version.mds_lower())) - if version.unsupported: - raise UnsupportedVersionError(version) + version.raise_if_unsupported() before_load = kwargs.get("before_load") stage_first = kwargs.get("stage_first") diff --git a/mds/db/sql.py b/mds/db/sql.py index 0a97cf2..7190858 100644 --- a/mds/db/sql.py +++ b/mds/db/sql.py @@ -72,8 +72,7 @@ def insert_status_changes_from(source_table, dest_table=STATUS_CHANGES, **kwargs str """ version = Version(kwargs.pop("version", Version.mds_lower())) - if version.unsupported: - raise UnsupportedVersionError(version) + version.raise_if_unsupported() on_conflict_update = kwargs.pop("on_conflict_update", None) on_conflict = on_conflict_statement(on_conflict_update) @@ -134,8 +133,7 @@ def insert_trips_from(source_table, dest_table=TRIPS, **kwargs): str """ version = Version(kwargs.pop("version", Version.mds_lower())) - if version.unsupported: - raise UnsupportedVersionError(version) + version.raise_if_unsupported() on_conflict_update = kwargs.pop("on_conflict_update", None) on_conflict = on_conflict_statement(on_conflict_update) diff --git a/mds/versions.py b/mds/versions.py index a545883..f3ddfdd 100644 --- a/mds/versions.py +++ b/mds/versions.py @@ -130,6 +130,13 @@ def tuple(self): else: return self._version.release + def raise_if_unsupported(self): + """ + Raise an UnsupportedVersionError if this Version is not currently supported. + """ + if self.unsupported: + raise UnsupportedVersionError(self) + def __eq__(self, version2): return self._version.__eq__(version2._version)