Skip to content

Commit

Permalink
added additional error handling for search functions
Browse files Browse the repository at this point in the history
  • Loading branch information
dchaddock committed Nov 8, 2022
1 parent 57b8d68 commit 1dcf281
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 2 deletions.
6 changes: 6 additions & 0 deletions pyaurorax/conjunctions/conjunctions.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import datetime
import humanize
from typing import Dict, List, Optional, Union
from ..exceptions import AuroraXSearchException
from .classes.search import Search
from ..api import AuroraXRequest, urls
from ..requests import STANDARD_POLLING_SLEEP_TIME
Expand Down Expand Up @@ -136,6 +137,11 @@ def search(start: datetime.datetime,
print("[%s] Waiting for data ..." % (datetime.datetime.now()))
s.wait(poll_interval=poll_interval, verbose=verbose)

# check if error condition encountered
if (s.status["search_result"]["error_condition"] is True):
# error encountered
raise AuroraXSearchException(s.logs[-1]["summary"])

# get the data
if (verbose is True):
print("[%s] Retrieving data ..." % (datetime.datetime.now()))
Expand Down
8 changes: 7 additions & 1 deletion pyaurorax/data_products/data_products.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@
from .classes.search import Search
from ..sources import (DataSource,
list as sources_list)
from ..exceptions import (AuroraXValidationException,
from ..exceptions import (AuroraXSearchException,
AuroraXValidationException,
AuroraXUploadException,
AuroraXBadParametersException,
AuroraXException)
Expand Down Expand Up @@ -137,6 +138,11 @@ def search(start: datetime.datetime,
print("[%s] Waiting for data ..." % (datetime.datetime.now()))
s.wait(poll_interval=poll_interval, verbose=verbose)

# check if error condition encountered
if (s.status["search_result"]["error_condition"] is True):
# error encountered
raise AuroraXSearchException(s.logs[-1]["summary"])

# get the data
if (verbose is True):
print("[%s] Retrieving data ..." % (datetime.datetime.now()))
Expand Down
8 changes: 7 additions & 1 deletion pyaurorax/ephemeris/ephemeris.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@
from .classes.search import Search
from ..sources import (DataSource,
list as sources_list)
from ..exceptions import (AuroraXValidationException,
from ..exceptions import (AuroraXSearchException,
AuroraXValidationException,
AuroraXUploadException,
AuroraXBadParametersException)
from ..requests import STANDARD_POLLING_SLEEP_TIME
Expand Down Expand Up @@ -132,6 +133,11 @@ def search(start: datetime.datetime,
print("[%s] Waiting for data ..." % (datetime.datetime.now()))
s.wait(poll_interval=poll_interval, verbose=verbose)

# check if error condition encountered
if (s.status["search_result"]["error_condition"] is True):
# error encountered
raise AuroraXSearchException(s.logs[-1]["summary"])

# get the data
if (verbose is True):
print("[%s] Retrieving data ..." % (datetime.datetime.now()))
Expand Down
7 changes: 7 additions & 0 deletions pyaurorax/exceptions.py
Original file line number Diff line number Diff line change
Expand Up @@ -96,3 +96,10 @@ class AuroraXTimeoutException(AuroraXException):
A timeout was reached while communicating with the AuroraX API
"""
pass


class AuroraXSearchException(AuroraXException):
"""
An error occured in the API while performing a search
"""
pass

0 comments on commit 1dcf281

Please sign in to comment.