pyceo/ceo/term_utils.py

23 lines
767 B
Python

from typing import List
from .utils import http_get
from ceo_common.model.Term import get_terms_for_renewal
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,
) -> 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:
result = cli_utils.handle_sync_response(resp)
else:
result = tui_utils.handle_sync_response(resp, tui_controller)
if clubrep:
return get_terms_for_renewal(result.get('non_member_terms'), num_terms)
else:
return get_terms_for_renewal(result.get('terms'), num_terms)