# Buggy code
def _request_export_info() -> Tuple[Text, Text, Text]:
    """Request file path and export stories & nlu data to that path"""

    # export training data and quit
    questions = questionary.form(
        export_stories=questionary.text(
            message="Export stories to (if file exists, this will append the stories)",
            default=PATHS["stories"],
        ),
        export_nlu=questionary.text(
            message="Export NLU data to (if file exists, this will "
            "merge learned data with previous training examples)",
            default=PATHS["nlu"],
        ),
        export_domain=questionary.text(
            message="Export domain file to (if file exists, this will be overwritten)",
            default=PATHS["domain"],
        ),
    )

    answers = questions.ask()
    if not answers:
        raise Abort()

    return (answers["export_stories"], answers["export_nlu"], answers["export_domain"])


# Traceback (FileNotFoundError)
? Export stories to (if file exists, this will append the stories)
? Export NLU data to (if file exists, this will merge learned data with previous training examples)
? Export domain file to (if file exists, this will be overwritten) domain.yml
2019-06-18 08:16:35 ERROR    rasa.core.training.interactive  - An exception occurred while recording messages.
Traceback (most recent call last):
File "/Users/erohmensing/rasa/rasa/core/training/interactive.py", line 1367, in record_messages
endpoint, sender_id, sender_ids, plot_file
File "/Users/erohmensing/rasa/rasa/core/training/interactive.py", line 885, in _predict_till_next_listen
action_name, policy, confidence, predictions, endpoint, sender_id
File "/Users/erohmensing/rasa/rasa/core/training/interactive.py", line 1024, in _validate_action
is_correct = await _ask_questions(question, sender_id, endpoint)
File "/Users/erohmensing/rasa/rasa/core/training/interactive.py", line 312, in _ask_questions
should_retry = await _ask_if_quit(sender_id, endpoint)
File "/Users/erohmensing/rasa/rasa/core/training/interactive.py", line 591, in _ask_if_quit
await _write_data_to_file(sender_id, endpoint)
File "/Users/erohmensing/rasa/rasa/core/training/interactive.py", line 566, in _write_data_to_file
await _write_stories_to_file(story_path, events)
File "/Users/erohmensing/rasa/rasa/core/training/interactive.py", line 764, in _write_stories_to_file
with open(export_story_path, append_write, encoding="utf-8") as f:
FileNotFoundError: [Errno 2] No such file or directory: ''
2019-06-18 08:16:35 ERROR    asyncio  - Task exception was never retrieved
future: <Task finished coro=<_serve_application.<locals>.run_interactive_io() done, defined at /Users/erohmensing/rasa/rasa/core/training/interactive.py:1409> exception=FileNotFoundError(2, 'No such file or directory')>
Traceback (most recent call last):
File "/Users/erohmensing/rasa/rasa/core/training/interactive.py", line 1416, in run_interactive_io
sender_id=uuid.uuid4().hex,
File "/Users/erohmensing/rasa/rasa/core/training/interactive.py", line 1367, in record_messages
endpoint, sender_id, sender_ids, plot_file
File "/Users/erohmensing/rasa/rasa/core/training/interactive.py", line 885, in _predict_till_next_listen
action_name, policy, confidence, predictions, endpoint, sender_id
File "/Users/erohmensing/rasa/rasa/core/training/interactive.py", line 1024, in _validate_action
is_correct = await _ask_questions(question, sender_id, endpoint)
File "/Users/erohmensing/rasa/rasa/core/training/interactive.py", line 312, in _ask_questions
should_retry = await _ask_if_quit(sender_id, endpoint)
File "/Users/erohmensing/rasa/rasa/core/training/interactive.py", line 591, in _ask_if_quit
await _write_data_to_file(sender_id, endpoint)
File "/Users/erohmensing/rasa/rasa/core/training/interactive.py", line 566, in _write_data_to_file
await _write_stories_to_file(story_path, events)
File "/Users/erohmensing/rasa/rasa/core/training/interactive.py", line 764, in _write_stories_to_file
with open(export_story_path, append_write, encoding="utf-8") as f:
FileNotFoundError: [Errno 2] No such file or directory: ''

# Fixed code
def _request_export_info() -> Tuple[Text, Text, Text]:
    """Request file path and export stories & nlu data to that path"""

    # export training data and quit
    questions = questionary.form(
        export_stories=questionary.text(
            message="Export stories to (if file exists, this will append the stories)",
            default=PATHS["stories"],
            validate=io_utils.questionary_file_path_validator(
                [".md"],
                "Please provide a valid export path for the stories, e.g. 'stories.md'.",
            ),
        ),
        export_nlu=questionary.text(
            message="Export NLU data to (if file exists, this will "
            "merge learned data with previous training examples)",
            default=PATHS["nlu"],
            validate=io_utils.questionary_file_path_validator(
                [".md"],
                "Please provide a valid export path for the NLU data, e.g. 'nlu.md'.",
            ),
        ),
        export_domain=questionary.text(
            message="Export domain file to (if file exists, this will be overwritten)",
            default=PATHS["domain"],
            validate=io_utils.questionary_file_path_validator(
                [".yml", ".yaml"],
                "Please provide a valid export path for the domain file, e.g. 'domain.yml'.",
            ),
        ),
    )

    answers = questions.ask()
    if not answers:
        raise Abort()

    return (answers["export_stories"], answers["export_nlu"], answers["export_domain"])