#!/usr/bin/env python
#
# Copyright (C) 2005 by Async Open Source 
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

import os
import sys

# Required version of Python
REQUIRED_VERSION = (2, 3)

# Directory name, defaults to name of binary, it is relative to ..
# a, __init__.py and main.py is expected to be found there.
DIRNAME = None

# Application name, defaults to capitalized name of binary
APPNAME = None

# Do not modify code below this point
dirname = DIRNAME or os.path.split(sys.argv[0])[1]
appname = APPNAME or dirname.capitalize()

version_string = sys.version.split(' ')[0]
majmin = tuple(map(int, version_string.split('.')))
if majmin < REQUIRED_VERSION:
    raise SystemExit("ERROR: Python %s or higher is required to run %s, "
                     "%s found" % ('.'.join(map(str, REQUIRED_VERSION)),
                                   appname,
                                   version_string))

# Figure out the directy which is the prefix
# path-of-current-file/..
currentdir = os.path.dirname(os.path.abspath(sys.argv[0]))
basedir = os.path.abspath(os.path.join(currentdir, '..'))

# Add the base directory where the application is installed in to sys.path
if os.path.exists(os.path.join(basedir, 'lib')):
    if sys.platform == 'win32':
        pythondir = os.path.join(basedir, 'Lib', 'site-packages')
    else:
        pythondir = os.path.join(basedir, 'lib',
                                 'python%d.%d' % sys.version_info[:2],
                                 'site-packages')
    if not os.path.exists(pythondir):
        raise SystemExit("ERROR: Could not find required directory: %s" %
                         pythondir)
elif not os.path.exists(os.path.join(basedir, dirname)):
    raise SystemExit("ERROR: Could not find required directory: %s" %
                     os.path.join(basedir, dirname))
else:
    pythondir = basedir
    
sys.path.insert(0, pythondir)

from gazpacho import main

try:
    sys.exit(main.main((sys.argv)))
except KeyboardInterrupt:
    raise SystemExit
