#!/usr/bin/env python
# -*- coding: utf-8 -*-

import gettext
import gtk
import locale
import os
import sys
from ReSiStance.gui import constants, FeedsWindow
from ReSiStance.settings import Settings
from ReSiStance.feedmanager import FeedManager
from ReSiStance.connectionmanager import ConnectionManager

_ = gettext.gettext

local_src = os.path.join (os.path.dirname(__file__), 'src')
if os.path.exists(local_src):
    sys.path = [local_src] + sys.path

if __name__ == "__main__":

    gtk.gdk.threads_init()

    # Init i18n stuff
    languages = []
    lc, encoding = locale.getdefaultlocale()
    if lc:
        languages = [lc]
    languages += constants.DEFAULT_LANGUAGES
    gettext.bindtextdomain(constants.RSS_COMPACT_NAME,
                           constants.LOCALE_DIR)
    gettext.textdomain(constants.RSS_COMPACT_NAME)
    language = gettext.translation(constants.RSS_COMPACT_NAME,
                                   constants.LOCALE_DIR,
                                   languages = languages,
                                   fallback = True)
    _ = language.gettext

    # Check that user dirs exist
    if os.path.exists(constants.RSS_CONF_FOLDER) == False:
        os.makedirs(constants.RSS_CONF_FOLDER, 0700)
        os.mkdir(os.path.join(constants.RSS_CONF_FOLDER, 'icons'), 0700)

    if os.path.exists(constants.RSS_DB_DIR) == False:
        os.makedirs(constants.RSS_DB_DIR, 0700)

    # Main Window
    conn_manager = ConnectionManager()
    settings = Settings()
    manager = FeedManager(settings, conn_manager)
    win = FeedsWindow(manager, settings, conn_manager)
    win.show()

    gtk.main()
