#!/usr/bin/env python3
import os
import sys

if sys.version_info[0] < 3 or sys.version_info[1] < 2:
    print("You need at least Python 3.2 to run FS-UAE Launcher")
    sys.exit(1)

if os.environ.get("FSGS_PYTHONPATH", ""):
    sys.path.insert(0, os.environ.get("FSGS_PYTHONPATH"))


def print_help():
    print("fs-uae-launcher")
    print("FIXME")


def print_version():
    import launcher.version
    print(launcher.version.VERSION)


def main():
    if getattr(sys, "frozen", False):
        print("frozen")
        import fsboot
        # os.environ["QT_QPA_PLATFORM_PLUGIN_PATH"] = fsboot.executable_dir()
        os.environ["QT_QPA_PLATFORM_PLUGIN_PATH"] = os.path.join(
            fsboot.executable_dir(), "platforms")
        libs_dirs = [fsboot.executable_dir()]
        libs_dir = os.path.abspath(
            os.path.join(fsboot.executable_dir(), "..", "..", "Python"))
        print(libs_dir, os.path.exists(libs_dir))
        if os.path.exists(libs_dir):
            libs_dirs.append(libs_dir)
        else:
            libs_dir = os.path.abspath(
                os.path.join(fsboot.executable_dir(), "..", "..", "..",
                             "..", "..", "Python"))
            print(libs_dir, os.path.exists(libs_dir))
            if os.path.exists(libs_dir):
                libs_dirs.append(libs_dir)
        for libs_dir in libs_dirs:
            for item in os.listdir(libs_dir):
                if item.endswith(".zip"):
                    path = os.path.join(libs_dir, item)
                    print("adding", path)
                    sys.path.insert(0, path)

    # if "--help" in sys.argv:
    #     print_help()
    #     sys.exit(0)
    if "--version" in sys.argv:
        print_version()
        sys.exit(0)

    import launcher.apps
    launcher.apps.main()


main()

# Dummy imports for cx_Freeze
sys.exit(0)
# noinspection PyUnreachableCode,PyUnresolvedReferences,PyProtectedMember
import pkg_resources._vendor.packaging.requirements
# noinspection PyUnreachableCode,PyUnresolvedReferences,PyProtectedMember
import pkg_resources._vendor.packaging.specifiers
# noinspection PyUnreachableCode,PyUnresolvedReferences,PyProtectedMember
import pkg_resources._vendor.packaging.version
# noinspection PyUnreachableCode,PyUnresolvedReferences,PyProtectedMember
import pkg_resources._vendor.pyparsing
# noinspection PyUnreachableCode,PyUnresolvedReferences,PyProtectedMember
import pkg_resources._vendor.six
