From 8ab1543e9761ac591a3ecd6ac7d3fc87d3ae44d8 Mon Sep 17 00:00:00 2001 From: abid1998 Date: Tue, 16 Mar 2021 23:34:27 +0530 Subject: [PATCH] fixing raise-missing-from in remaining places --- src/prefect/engine/serializers.py | 4 ++-- src/prefect/tasks/airtable/__init__.py | 4 ++-- src/prefect/tasks/aws/batch.py | 4 ++-- src/prefect/tasks/aws/client_waiter.py | 8 +++++--- src/prefect/tasks/azure/__init__.py | 4 ++-- src/prefect/tasks/azureml/__init__.py | 4 ++-- src/prefect/tasks/dbt/__init__.py | 6 ++++-- src/prefect/tasks/dropbox/__init__.py | 4 ++-- src/prefect/tasks/gcp/bigquery.py | 2 +- src/prefect/tasks/great_expectations/__init__.py | 4 ++-- src/prefect/tasks/gsheets/__init__.py | 4 ++-- src/prefect/tasks/kubernetes/__init__.py | 4 ++-- src/prefect/tasks/postgres/__init__.py | 4 ++-- src/prefect/tasks/redis/__init__.py | 4 ++-- src/prefect/tasks/rss/__init__.py | 4 ++-- src/prefect/tasks/snowflake/__init__.py | 4 ++-- src/prefect/tasks/sql_server/__init__.py | 4 ++-- src/prefect/tasks/templates/jinja2.py | 4 ++-- 18 files changed, 40 insertions(+), 36 deletions(-) diff --git a/src/prefect/engine/serializers.py b/src/prefect/engine/serializers.py index db46765e36c3..c000c70b5fe2 100644 --- a/src/prefect/engine/serializers.py +++ b/src/prefect/engine/serializers.py @@ -88,10 +88,10 @@ def deserialize(self, value: bytes) -> Any: try: # old versions of Core encoded pickles with base64 return cloudpickle.loads(base64.b64decode(value)) - except Exception: + except Exception as e: # if there's an error with the backwards-compatible step, # reraise the original exception - raise exc + raise exc from e class JSONSerializer(Serializer): diff --git a/src/prefect/tasks/airtable/__init__.py b/src/prefect/tasks/airtable/__init__.py index 5dd5eba93b4b..7539b4ada80d 100644 --- a/src/prefect/tasks/airtable/__init__.py +++ b/src/prefect/tasks/airtable/__init__.py @@ -3,7 +3,7 @@ """ try: from prefect.tasks.airtable.airtable import WriteAirtableRow, ReadAirtableRow -except ImportError: +except ImportError as err: raise ImportError( 'Using `prefect.tasks.airtable` requires Prefect to be installed with the "airtable" extra.' - ) + ) from err diff --git a/src/prefect/tasks/aws/batch.py b/src/prefect/tasks/aws/batch.py index dd26679f883e..cfb4586ef2d4 100644 --- a/src/prefect/tasks/aws/batch.py +++ b/src/prefect/tasks/aws/batch.py @@ -90,8 +90,8 @@ def run( jobDefinition=job_definition, **batch_kwargs, ) - except Exception: - raise FAIL(f"Failed to submit job '{job_name}' to AWS Batch.") + except Exception as e: + raise FAIL(f"Failed to submit job '{job_name}' to AWS Batch.") from e if not response.get("jobId"): raise FAIL(f"AWS Batch submit response contains no job ID: {response}") diff --git a/src/prefect/tasks/aws/client_waiter.py b/src/prefect/tasks/aws/client_waiter.py index 7638df9f219e..3c9b8e4b7a3e 100644 --- a/src/prefect/tasks/aws/client_waiter.py +++ b/src/prefect/tasks/aws/client_waiter.py @@ -116,7 +116,9 @@ def run( try: waiter.wait(**waiter_kwargs) except WaiterError as e: - raise FAIL(f"AWS {client} waiter '{waiter_name}' failed with: {str(e)}") + raise FAIL( + f"AWS {client} waiter '{waiter_name}' failed with: {str(e)}" + ) from e @staticmethod def _load_prefect_waiter( @@ -131,7 +133,7 @@ def _load_prefect_waiter( waiter_model = WaiterModel(json.load(handle)) return create_waiter_with_client(waiter_name, waiter_model, boto_client) - except Exception: + except Exception as err: raise ValueError( f"Unable to load waiter '{waiter_name}' for AWS client '{client_str}'." - ) + ) from err diff --git a/src/prefect/tasks/azure/__init__.py b/src/prefect/tasks/azure/__init__.py index c18c06d41abb..962fd6896f34 100644 --- a/src/prefect/tasks/azure/__init__.py +++ b/src/prefect/tasks/azure/__init__.py @@ -9,7 +9,7 @@ CosmosDBReadItems, CosmosDBQueryItems, ) -except ImportError: +except ImportError as err: raise ImportError( 'Using `prefect.tasks.azure` requires Prefect to be installed with the "azure" extra.' - ) + ) from err diff --git a/src/prefect/tasks/azureml/__init__.py b/src/prefect/tasks/azureml/__init__.py index daef64708e2a..f972777dcd69 100644 --- a/src/prefect/tasks/azureml/__init__.py +++ b/src/prefect/tasks/azureml/__init__.py @@ -16,7 +16,7 @@ DatastoreUpload, ) -except ImportError: +except ImportError as err: raise ImportError( 'Using `prefect.tasks.azureml` requires Prefect to be installed with the "azure" extra.' - ) + ) from err diff --git a/src/prefect/tasks/dbt/__init__.py b/src/prefect/tasks/dbt/__init__.py index da0d6f98de23..b8887faad59c 100644 --- a/src/prefect/tasks/dbt/__init__.py +++ b/src/prefect/tasks/dbt/__init__.py @@ -4,5 +4,7 @@ try: from prefect.tasks.dbt.dbt import DbtShellTask -except ImportError: - raise ImportError("Using `prefect.tasks.dbt` requires dbt to be installed.") +except ImportError as err: + raise ImportError( + "Using `prefect.tasks.dbt` requires dbt to be installed." + ) from err diff --git a/src/prefect/tasks/dropbox/__init__.py b/src/prefect/tasks/dropbox/__init__.py index ca27b64cb49b..ac95228677fb 100644 --- a/src/prefect/tasks/dropbox/__init__.py +++ b/src/prefect/tasks/dropbox/__init__.py @@ -3,7 +3,7 @@ """ try: from prefect.tasks.dropbox.dropbox import DropboxDownload -except ImportError: +except ImportErro as err: raise ImportError( 'Using `prefect.tasks.dropbox` requires Prefect to be installed with the "dropbox" extra.' - ) + ) from err diff --git a/src/prefect/tasks/gcp/bigquery.py b/src/prefect/tasks/gcp/bigquery.py index 7e4b1c265840..4fc75b7b7d76 100644 --- a/src/prefect/tasks/gcp/bigquery.py +++ b/src/prefect/tasks/gcp/bigquery.py @@ -389,7 +389,7 @@ def run( except Exception as exception: for error in load_job.errors: self.logger(error) - raise FAIL(exception) + raise FAIL(exception) from exception # remove unpickleable attributes load_job._client = None load_job._completion_lock = None diff --git a/src/prefect/tasks/great_expectations/__init__.py b/src/prefect/tasks/great_expectations/__init__.py index 2b6042490123..67bbfcdec921 100644 --- a/src/prefect/tasks/great_expectations/__init__.py +++ b/src/prefect/tasks/great_expectations/__init__.py @@ -9,7 +9,7 @@ RunGreatExpectationsValidation, RunGreatExpectationsCheckpoint, ) -except ImportError: +except ImportError as err: raise ImportError( 'Using `prefect.tasks.great_expectations` requires Prefect to be installed with the "ge" extra.' - ) + ) from err diff --git a/src/prefect/tasks/gsheets/__init__.py b/src/prefect/tasks/gsheets/__init__.py index e1aac2f328c1..b6d7d9617f65 100644 --- a/src/prefect/tasks/gsheets/__init__.py +++ b/src/prefect/tasks/gsheets/__init__.py @@ -6,7 +6,7 @@ WriteGsheetRow, ReadGsheetRow, ) -except ImportError: +except ImportError as err: raise ImportError( 'Using `prefect.tasks.gsheets` requires Prefect to be installed with the "gsheets" extra.' - ) + ) from err diff --git a/src/prefect/tasks/kubernetes/__init__.py b/src/prefect/tasks/kubernetes/__init__.py index 0331aff23bb7..df11f71acafe 100644 --- a/src/prefect/tasks/kubernetes/__init__.py +++ b/src/prefect/tasks/kubernetes/__init__.py @@ -41,7 +41,7 @@ ReadNamespacedService, ReplaceNamespacedService, ) -except ImportError: +except ImportError as err: raise ImportError( 'Using `prefect.tasks.kubernetes` requires Prefect to be installed with the "kubernetes" extra.' - ) + ) from err diff --git a/src/prefect/tasks/postgres/__init__.py b/src/prefect/tasks/postgres/__init__.py index f74b727bea2b..02046ed87064 100644 --- a/src/prefect/tasks/postgres/__init__.py +++ b/src/prefect/tasks/postgres/__init__.py @@ -9,7 +9,7 @@ PostgresExecuteMany, PostgresFetch, ) -except ImportError: +except ImportError as err: raise ImportError( 'Using `prefect.tasks.postgres` requires Prefect to be installed with the "postgres" extra.' - ) + ) from err diff --git a/src/prefect/tasks/redis/__init__.py b/src/prefect/tasks/redis/__init__.py index 8f796ba9473e..0736f4755ae2 100644 --- a/src/prefect/tasks/redis/__init__.py +++ b/src/prefect/tasks/redis/__init__.py @@ -5,7 +5,7 @@ try: from prefect.tasks.redis.redis_tasks import RedisSet, RedisGet, RedisExecute -except ImportError: +except ImportError as err: raise ImportError( 'Using `prefect.tasks.redis` requires Prefect to be installed with the "redis" extra.' - ) + ) from err diff --git a/src/prefect/tasks/rss/__init__.py b/src/prefect/tasks/rss/__init__.py index bca82e2c3995..251f6ab2991b 100644 --- a/src/prefect/tasks/rss/__init__.py +++ b/src/prefect/tasks/rss/__init__.py @@ -3,7 +3,7 @@ """ try: from prefect.tasks.rss.feed import ParseRSSFeed -except ImportError: +except ImportError as err: raise ImportError( 'Using `prefect.tasks.rss` requires Prefect to be installed with the "rss" extra.' - ) + ) from err diff --git a/src/prefect/tasks/snowflake/__init__.py b/src/prefect/tasks/snowflake/__init__.py index 7ab896f505b0..2f41891ff547 100644 --- a/src/prefect/tasks/snowflake/__init__.py +++ b/src/prefect/tasks/snowflake/__init__.py @@ -5,7 +5,7 @@ try: from prefect.tasks.snowflake.snowflake import SnowflakeQuery -except ImportError: +except ImportError as err: raise ImportError( 'Using `prefect.tasks.snowflake` requires Prefect to be installed with the "snowflake" extra.' - ) + ) from err diff --git a/src/prefect/tasks/sql_server/__init__.py b/src/prefect/tasks/sql_server/__init__.py index 07a69714efe2..781255e68ff0 100644 --- a/src/prefect/tasks/sql_server/__init__.py +++ b/src/prefect/tasks/sql_server/__init__.py @@ -9,7 +9,7 @@ SqlServerExecuteMany, SqlServerFetch, ) -except ImportError: +except ImportError as err: raise ImportError( 'Using `prefect.tasks.sql_server` requires Prefect to be installed with the "sql_server" extra.' - ) + ) from err diff --git a/src/prefect/tasks/templates/jinja2.py b/src/prefect/tasks/templates/jinja2.py index 75c911de1405..e1971b31b62c 100644 --- a/src/prefect/tasks/templates/jinja2.py +++ b/src/prefect/tasks/templates/jinja2.py @@ -6,11 +6,11 @@ try: from jinja2 import Template -except ImportError: +except ImportError as err: raise ImportError( "Using `prefect.tasks.templates.jinja2` requires Prefect to be installed " "with the 'templates' extra." - ) + ) from err class JinjaTemplate(Task):