Skip to content

Commit

Permalink
Merge 7b46aa4 into 82891fa
Browse files Browse the repository at this point in the history
  • Loading branch information
jchate6 committed Oct 3, 2023
2 parents 82891fa + 7b46aa4 commit d3148c7
Showing 1 changed file with 10 additions and 3 deletions.
13 changes: 10 additions & 3 deletions tom_alerts/brokers/alerce.py
Original file line number Diff line number Diff line change
Expand Up @@ -308,18 +308,25 @@ def _clean_parameters(self, parameters):
def _request_alerts(self, parameters):
payload = self._clean_parameters(parameters)
logger.log(msg=f'Fetching alerts from ALeRCE with payload {payload}', level=logging.INFO)
args = urlencode(self._clean_parameters(parameters))
args = urlencode(payload)
response = requests.get(f'{ALERCE_SEARCH_URL}/objects/?count=false&{args}')
response.raise_for_status()
return response.json()

def fetch_alerts(self, parameters):
"""
Loop through pages of ALeRCE alerts until we reach the maximum pages requested.
This simply concatenates all alerts from n pages into a single iterable to be returned.
"""
response = self._request_alerts(parameters)
alerts = response['items']
broker_feedback = ''
if len(alerts) > 0 and response['page'] < parameters.get('max_pages', 1):
parameters['page'] = response.get('page') + 1
current_page = parameters.get('page', 1)
if len(alerts) > 0 and current_page < parameters.get('max_pages', 1):
# make new request for the next page. (by recursion)
parameters['page'] = current_page + 1
alerts += self.fetch_alerts(parameters)[0]
# Bottom out of recursion and return accumulated alerts
return iter(alerts), broker_feedback

def fetch_alert(self, id):
Expand Down

0 comments on commit d3148c7

Please sign in to comment.