#!/usr/bin/python 
import os
import sys

from gettext import bindtextdomain, textdomain

script_dir = os.path.abspath("scripts")
if os.path.dirname(os.path.abspath(sys.argv[0])) == script_dir:
    sys.path.insert(0, "./")
else:
    from landscape.lib.warning import hide_warnings
    hide_warnings()

from landscape.ui.controller.app import SettingsApplicationController
from landscape.lib.lock import lock_path, LockError

if __name__ == "__main__":
    lock_file = os.path.join("/var/lock", "landscape-client-settings-ui")
    try:
        unlock_path = lock_path(lock_file, timeout=1)
    except LockError:
        sys.stderr.write("Another instance of "
                         "landscape-client-settings-ui is already "
                         "running.\n")
        sys.exit(1)
    else:
        bindtextdomain("landscape-client", "/usr/share/locale")
        textdomain("landscape-client")
        app = SettingsApplicationController(args=sys.argv[1:])
        try:
            app.run(None)
        except Exception, e:
            sys.stderr.write("%s\n" % str(e))
        finally:
            unlock_path()
