#!/usr/bin/env python # PiTiVi , Non-linear video editor # # pitivi # # Copyright (c) 2005, Edward Hervey # # 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.1 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 # Lesser 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 import string from gettext import bindtextdomain, textdomain # variables CONFIGURED_PYTHONPATH = '@CONFIGURED_PYTHONPATH@' LIBDIR = '@LIBDIR@' # Check if we're in development or installed version # Add the path of pitivi stuff # TODO : change it when it's finally in cvs def _add_pitivi_path(): dir = os.path.dirname(os.path.abspath(__file__)) if os.path.exists(os.path.join(dir, 'CVS')): root = os.path.split(dir)[0] localedir = os.path.join(dir, 'locale') else: root = os.path.join(LIBDIR, 'pitivi', 'python') localedir = "@prefix@/@DATADIRNAME@/locale" if not root in sys.path: sys.path.insert(0, root) # prepend any directories found at configure time if they're not # already in the path. (if they are already in the path, the user # chose to have it that way, so we leave their order) for path in string.split(CONFIGURED_PYTHONPATH, ':'): if path not in sys.path: sys.path.insert(0, path) # Added for i18n bindtextdomain('pitivi', localedir) textdomain('pitivi') def _init_gobject_gtk_gst(): try: import pygtk pygtk.require("2.0") import gtk import gobject gobject.threads_init() except ImportError: raise SystemExit("PyGTK couldn't be found !") gobject.threads_init() try: import pygst pygst.require('0.10') import gst except ImportError: raise SystemExit("Gst-Python couldn't be found!") def _run_pitivi(): import pitivi.pitivi as pitivi try: sys.exit(pitivi.main(sys.argv)) except StandardError, e: print "Error: ", e sys.exit(1) try: _add_pitivi_path() _init_gobject_gtk_gst() _run_pitivi() except KeyboardInterrupt: print "Interrupted by user!"