# Path: airdialogue/context_generator/src/utils.py
# def continue_booking(facts, ag_cond, kb, goal_str):
# def airflight_selector(facts, condition, airfare_database):
# def generate_expected_action(facts, agent_condition, airfare_database,
#                              reservation):
# def check_states(user_action, expected_action):
# def get_day_segment_by_hour(hour):
# def check_condition(facts, flight, condition, get_full_diff=False):
# def generate_action(flights, name, status):
# def standardize_intent(org_intent):
# def standardize_action(org_action):
# def get_unix_epoch(dt):
# def get_datetime(unix_epoch):
# def get_month_and_day(fact_obj, unix_epoch):
# def get_hour(unix_epoch):
# def discrete_price(original_price):
# def format_time(hour):
# def get_connection(con):
# def discrete_sample_(probabilities):
# def choice(values, cnt=-1, p=None):


import numpy as np
from airdialogue.context_generator.src import utils
    self.fact_obj = fact_obj

  def get_template(self, list_of_templates):
    if self.fix_resp_candidate:
      choice = 0
    else:
      choice = utils.choice(len(list_of_templates))
    return list_of_templates[choice]

  def customer_turn(self, utterance):
    return customer_turn_prefix + ' ' + utterance

  def agent_turn(self, utterance):
    return agent_turn_prefix + ' ' + utterance

  def generate_confirmation(self, flight, full=True):
    if full:
      tmp = self.get_template(agent_suggestion['full'])
      return tmp.format(
          flight['flight_number'], flight['departure_airport'],
          flight['departure_month'] + ' ' + str(flight['departure_day']),
          utils.format_time(
              flight['departure_time_num']), flight['return_airport'],
          flight['return_month'] + ' ' + str(flight['return_day']),
          utils.format_time(flight['return_time_num']), flight['class'],
          utils.get_connection(flight['num_connections']), flight['price'])
    else:
      tmp = self.get_template(agent_suggestion['without_cd'])
      return tmp.format(
          flight['flight_number'],

# Path: airdialogue/context_generator/src/utils.py
# def continue_booking(facts, ag_cond, kb, goal_str):
# def airflight_selector(facts, condition, airfare_database):
# def generate_expected_action(facts, agent_condition, airfare_database,
#                              reservation):
# def check_states(user_action, expected_action):
# def get_day_segment_by_hour(hour):
# def check_condition(facts, flight, condition, get_full_diff=False):
# def generate_action(flights, name, status):
# def standardize_intent(org_intent):
# def standardize_action(org_action):
# def get_unix_epoch(dt):
# def get_datetime(unix_epoch):
# def get_month_and_day(fact_obj, unix_epoch):
# def get_hour(unix_epoch):
# def discrete_price(original_price):
# def format_time(hour):
# def get_connection(con):
# def discrete_sample_(probabilities):
# def choice(values, cnt=-1, p=None):


# Path: airdialogue/simulator/interaction.py
import numpy as np
from airdialogue.context_generator.src import utils

    self.fact_obj = fact_obj

  def get_template(self, list_of_templates):
    if self.fix_resp_candidate:
      choice = 0
    else:
      choice = utils.choice(len(list_of_templates))
    return list_of_templates[choice]

  def customer_turn(self, utterance):
    return customer_turn_prefix + ' ' + utterance

  def agent_turn(self, utterance):
    return agent_turn_prefix + ' ' + utterance

  def generate_confirmation(self, flight, full=True):
    if full:
      tmp = self.get_template(agent_suggestion['full'])
      return tmp.format(
          flight['flight_number'], flight['departure_airport'],
          flight['departure_month'] + ' ' + str(flight['departure_day']),
          utils.format_time(
              flight['departure_time_num']), flight['return_airport'],
          flight['return_month'] + ' ' + str(flight['return_day']),
          utils.format_time(flight['return_time_num']), flight['class'],
          utils.get_connection(flight['num_connections']), flight['price'])
    else:
      tmp = self.get_template(agent_suggestion['without_cd'])
      return tmp.format(
          flight['flight_number'],

          utils.format_time(flight['departure_time_num']),