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)