def _get_project_file(win_id):
    session_data = None

    # Construct the base settings paths
    auto_save_session_path = os.path.join(
        sublime.packages_path(),
        '..',
        'Settings',
        'Auto Save Session.sublime_session'
    )
    regular_session_path = os.path.join(
        sublime.packages_path(),
        '..',
        'Settings',
        'Session.sublime_session'
    )

    # Try loading the session data from one of the files
    for session_path in (auto_save_session_path, regular_session_path):
        try:
            with open(session_path) as session_file:
                session_data = json.load(session_file, strict=False)
            break
        except (__HOLE__, ValueError):
            continue
    if session_data is None:
        return None

    # Find the window data corresponding with the given ID
    project = _find_project_in_data(session_data, win_id) or ''

    # Throw out empty project names
    if re.match('.*\\.sublime-project', project) or os.path.exists(project):
        return project

    return None
dataset/ETHPy150Open Varriount/NimLime/nimlime_core/utils/project.py/_get_project_file