pyceo/ceo/term_utils.py

23 lines
767 B
Python
Raw Permalink Normal View History

2021-09-06 12:40:05 -04:00
from typing import List
from .utils import http_get
from ceo_common.model.Term import get_terms_for_renewal
2021-09-06 12:40:05 -04:00
import ceo.cli.utils as cli_utils
import ceo.tui.utils as tui_utils
def get_terms_for_renewal_for_user(
username: str, num_terms: int, clubrep: bool, tui_controller=None,
2021-09-06 12:40:05 -04:00
) -> List[str]:
resp = http_get('/api/members/' + username)
# FIXME: this is ugly, we shouldn't need a hacky if statement like this
if tui_controller is None:
2021-09-06 12:40:05 -04:00
result = cli_utils.handle_sync_response(resp)
else:
result = tui_utils.handle_sync_response(resp, tui_controller)
2021-09-06 12:40:05 -04:00
if clubrep:
return get_terms_for_renewal(result.get('non_member_terms'), num_terms)
2021-09-06 12:40:05 -04:00
else:
return get_terms_for_renewal(result.get('terms'), num_terms)