#! /usr/bin/python3

# -*- coding: utf-8 -*-
# SPDX-FileCopyrightText: 2016-2026 Mufeed Ali <me@mufeed.dev>
# SPDX-License-Identifier: GPL-3.0-or-later

import gettext
import locale
import os
import sys
import signal

APP_ID = "dev.mufeed.Wordbook"
VERSION = "1.0.0"
pkgdatadir = "/usr/share/wordbook"
localedir = "/usr/share/locale"

builddir = os.environ.get("MESON_BUILD_ROOT")
if builddir:
    sys.dont_write_bytecode = True
    sys.path.insert(1, os.environ["MESON_SOURCE_ROOT"])
    data_dir = os.path.join(builddir, "/usr", "share")
    os.putenv(
        "XDG_DATA_DIRS",
        "%s:%s"
        % (data_dir, os.getenv("XDG_DATA_DIRS", "/usr/local/share/:/usr/share/")),
    )

sys.path.insert(1, pkgdatadir)
signal.signal(signal.SIGINT, signal.SIG_DFL)

locale.bindtextdomain("wordbook", localedir)
locale.textdomain("wordbook")
gettext.bindtextdomain("wordbook", localedir)
gettext.textdomain("wordbook")

if __name__ == "__main__":
    from gi.repository import Gio

    resource = Gio.Resource.load(os.path.join(pkgdatadir, "resources.gresource"))
    resource._register()

    from wordbook.main import Application

    Application.development_mode = "" == "Devel"
    app = Application(APP_ID, VERSION)

    try:
        status = app.run(sys.argv)
    except SystemExit as e:
        status = e.code

    sys.exit(status)
