# smedge
#
# Copyright Uberware. All Rights Reserved

"""Provides a Python API to interact with Smedge"""

# flake8: noqa

from .component import (
    NameOrID,
    NameOrIDList,
    SmedgeComponentError,
    datetime_to_rtime,
    extract_datetime,
    find_value,
)
from .config import SMEDGE
from .engine import (
    EngineType,
    RegexList,
    disable_engines,
    disable_product,
    download_file,
    enable_engines,
    enable_product,
    get_engine_dispatch_log,
    get_engines,
    reset_engine_failures,
    set_engines,
)
from .job import (
    HistoryElement,
    JobHistoryType,
    JobType,
    Parameter,
    ParameterList,
    Product,
    conform_job,
    delete_jobs,
    find_parameter,
    get_job_dispatch_log,
    get_job_history,
    get_jobs,
    get_product_info,
    ids_to_query,
    pause_jobs,
    preempt,
    pythonize_job,
    reset_job_failures,
    resume_jobs,
    submit_jobs,
    update_jobs,
    usurp,
)
from .master import (
    PathTranslation,
    TranslationListType,
    TranslationType,
    add_path_translations,
    get_master_id,
    get_path_translations,
    remove_path_translations,
    super_exit,
)
from .pool import (
    AnyPoolType,
    Pool,
    create_pools,
    delete_pools,
    get_pools,
    rename_pool,
)

try:
    from .submit_ui import (
        PropertiesType,
        ResultWindow,
        SmedgeSubmitWindow,
    )
    SMEDGE_QT = True
except ImportError:
    # Qt packages are not available
    SMEDGE_QT = False
