Skip to content

Commit

Permalink
Function to return success early for transmissions when not production
Browse files Browse the repository at this point in the history
  • Loading branch information
jgreben committed May 15, 2024
1 parent f02ac4b commit ee62585
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions libsys_airflow/plugins/data_exports/transmission_tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import httpx

from airflow.decorators import task
from airflow.models import Variable
from airflow.models.connection import Connection
from airflow.providers.ftp.hooks.ftp import FTPHook

Expand Down Expand Up @@ -41,6 +42,8 @@ def gather_files_task(**kwargs) -> dict:

@task(multiple_outputs=True)
def transmit_data_http_task(gather_files, **kwargs) -> dict:
if not is_production():
return return_success_test_instance(gather_files)
"""
Transmit the data via http
Returns lists of files successfully transmitted and failures
Expand Down Expand Up @@ -78,6 +81,8 @@ def transmit_data_http_task(gather_files, **kwargs) -> dict:

@task(multiple_outputs=True)
def transmit_data_ftp_task(conn_id, local_files) -> dict:
if not is_production():
return return_success_test_instance(local_files)
"""
Transmit the data via ftp
Returns lists of files successfully transmitted and failures
Expand Down Expand Up @@ -128,3 +133,17 @@ def archive_transmitted_data_task(files):

if instance_path.exists():
instance_path.replace(archive_dir / kind / instance_path.name)


def is_production():
return bool(Variable.get("OKAPI_URL", "http://okapi-prod").find("prod") > 0)


def return_success_test_instance(files) -> dict:
return_files = []
try:
return_files = [f for f in files["file_list"]]
return {"success": return_files, "failures": []}
except TypeError as e:
return_files = files
return {"success": files, "failures": []}

0 comments on commit ee62585

Please sign in to comment.