示例#1
0
def check_X (display, xauth):
    # Checking if I can use X
    os.environ['DISPLAY'] = display
    os.environ['XAUTHORITY'] = xauth

    try:
        import pygtk
        pygtk.require("2.0")

    except:
        pass

    try:
        import gtk

    except:
        print _("You need to install pyGTK or GTKv2,\n"
                "or set your PYTHONPATH correctly.\n"
                "try: export PYTHONPATH= ")
        sys.exit(1)

    try:
        gtk.init_check ()

    except Exception as e:
        print _("Could not open a connection to X!")
        print e
        sys.exit (1)
示例#2
0
    def __init__(self, args):
        init_gettext()

        try:
            gtk.init_check()
        except RuntimeError, e:
            sys.exit('E: %s. Exiting.' % e)
示例#3
0
def check_X(display, xauth):
    # Checking if I can use X
    os.environ['DISPLAY'] = display
    os.environ['XAUTHORITY'] = xauth

    try:
        import pygtk
        pygtk.require("2.0")

    except:
        pass

    try:
        import gtk

    except:
        print _("You need to install pyGTK or GTKv2,\n"
                "or set your PYTHONPATH correctly.\n"
                "try: export PYTHONPATH= ")
        sys.exit(1)

    try:
        gtk.init_check()

    except Exception as e:
        print _("Could not open a connection to X!")
        print e
        sys.exit(1)
示例#4
0
文件: gui.py 项目: jmtd/debgtd
	def __init__(self,controller):
		self.controller = controller
		self.active = True

		try:
			gtk.init_check()
		except RuntimeError, e:
			sys.exit('E: %s. Exiting.' % e)
示例#5
0
def main(options, indicator_class):
    exitcode = constants.EXCODE_GENERAL_ERROR

    dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
    gtk_avail = True
    try:
        gtk.init_check()
    except RuntimeError, error:
        gtk_avail = False
        print _("Initialization of GTK+ failed: %s") % error
示例#6
0
def check_gtk():
    try:
        warnings.filterwarnings("error")
        import pygtk
        pygtk.require('2.0')
        import gtk
        gtk.init_check()
        warnings.filterwarnings("always")
    except Exception as err:
        die(err, "Failed to initialize GTK. If you are running over ssh, "
                 "did you enable X forwarding and start ssh with -X?")
示例#7
0
def check_gtk():
    try:
        warnings.filterwarnings("error")
        import pygtk
        pygtk.require('2.0')
        import gtk
        gtk.init_check()
        warnings.filterwarnings("always")
    except Exception as err:
        die(
            err, "Failed to initialize GTK. If you are running over ssh, "
            "did you enable X forwarding and start ssh with -X?")
示例#8
0
 def start_gui(self):
     ''' Import the GUI toolkit and start the main window '''
     try:
         import pygtk
         pygtk.require('2.0')
         import gtk
     except:
         sys.exit('No GTK support.')
     try:
         gtk.init_check()
     except:
         sys.exit('Could not connect to X server.')
     
     gtk.main()
示例#9
0
 def start_gui(self, unique=True):
     """"""
     message = "Use 'tucan --cli' for curses interface."
     try:
         import pygtk
         pygtk.require('2.0')
         import gtk
         import gobject
     except:
         sys.exit("No GTK support. %s" % message)
     try:
         gtk.init_check()
     except:
         sys.exit("Could not connect to X server. %s" % message)
     try:
         from ui.gtk.gui import Gui, already_running, exception_hook
         from ui.gtk.recover import halt
     except Exception, e:
         #self.logger.exception(e)
         sys.exit("Tucan installed without GUI support. %s" % message)
示例#10
0
文件: tucan.py 项目: GatoLoko/tucan
	def start_gui(self, unique=True):
		""""""
		message = "Use 'tucan --cli' for curses interface." 
		try:
			import pygtk
			pygtk.require('2.0')
			import gtk
			import gobject
		except:
			sys.exit("No GTK support. %s" % message)
		try:
			gtk.init_check()
		except:
			sys.exit("Could not connect to X server. %s" % message)
		try:
			from ui.gtk.gui import Gui, already_running, exception_hook
			from ui.gtk.recover import halt
		except Exception, e:
			#self.logger.exception(e)
			sys.exit("Tucan installed without GUI support. %s" % message)
示例#11
0
def main():
    gtk.init_check()
    vfs.init()
    test_launch = 'launch' in sys.argv
    try:
        path = tempfile.gettempdir()
        tmp = vfs.File.for_path(path)
        assert tmp.props.parent is not None
        assert tmp.exists()
        assert tmp.props.file_type == vfs.FILE_TYPE_DIRECTORY
        assert (tmp.props.access_flags & vfs.ACCESS_FLAGS_READ) != 0
        assert tmp.is_readable()
        assert (tmp.props.access_flags & vfs.ACCESS_FLAGS_WRITE) != 0
        assert tmp.is_writable()
        print 'URI: %s' % tmp.props.uri
        print 'Path: %s' % tmp.props.path
        print '# of files: %d' % len(tmp.enumerate_children())
        file_path = os.path.join(path,
                                 '%s-lda-test' % tempfile.gettempprefix())
        tmp_file = vfs.File.for_path(file_path)
        assert tmp_file.props.parent is not None and \
               tmp_file.props.parent.props.uri == tmp.props.uri
        tmp_file.replace_contents(CONTENT)
        assert tmp_file.load_contents() == CONTENT
        if test_launch:
            assert tmp_file.launch()
        file_copy_path = '%s-copy' % file_path
        file_copy = vfs.File.for_path(file_copy_path)
        assert tmp_file.copy(file_copy, True)
        assert CONTENT == file_copy.load_contents()
        if not test_launch:
            assert file_copy.remove()
            assert not file_copy.exists()
            assert tmp_file.remove()
            assert not tmp_file.exists()
    finally:
        vfs.shutdown()
def main():
    gtk.init_check()
    vfs.init()
    test_launch = 'launch' in sys.argv
    try:
        path = tempfile.gettempdir()
        tmp = vfs.File.for_path(path)
        assert tmp.props.parent is not None
        assert tmp.exists()
        assert tmp.props.file_type == vfs.FILE_TYPE_DIRECTORY
        assert (tmp.props.access_flags & vfs.ACCESS_FLAGS_READ) != 0
        assert tmp.is_readable()
        assert (tmp.props.access_flags & vfs.ACCESS_FLAGS_WRITE) != 0
        assert tmp.is_writable()
        print 'URI: %s' % tmp.props.uri
        print 'Path: %s' % tmp.props.path
        print '# of files: %d' % len(tmp.enumerate_children())
        file_path = os.path.join(path,
                                 '%s-lda-test' % tempfile.gettempprefix())
        tmp_file = vfs.File.for_path(file_path)
        assert tmp_file.props.parent is not None and \
               tmp_file.props.parent.props.uri == tmp.props.uri
        tmp_file.replace_contents(CONTENT)
        assert tmp_file.load_contents() == CONTENT
        if test_launch:
            assert tmp_file.launch()
        file_copy_path = '%s-copy' % file_path
        file_copy = vfs.File.for_path(file_copy_path)
        assert tmp_file.copy(file_copy, True)
        assert CONTENT == file_copy.load_contents()
        if not test_launch:
            assert file_copy.remove()
            assert not file_copy.exists()
            assert tmp_file.remove()
            assert not tmp_file.exists()
    finally:
        vfs.shutdown()
示例#13
0
from datetime import datetime
import math
import os
import sys

try:
    import pygtk
    pygtk.require('2.0')
    import gtk

    gtk.init_check()
except:
    sys.stderr.write('PyGTK 2.0 is needed for the level editor.\n')
    sys.exit(1)

import gobject
import pango
import pygame

from thecure.levels import get_levels
from thecure.levels.loader import LevelLoader
from thecure.levels.writer import LevelWriter
from thecure.resources import get_image_filename, get_tilesets_path
from thecure.sprites import Tile


# XXX Hard-coding these is fragile.
LAYERS = ['bg', 'bg2', 'items', 'main', 'fg', 'fg2', 'events']
LAYER_NAMES = [
    'Background Layer',
    'Background Detail Layer',
            LOG.debug("Exception detected: type=%s,value=%s,tb=%s,origin=%s",
                      ex_type, ex_value, ex_tb, ex_origin)
            LOG.debug("Backtrace:")
            exception_lines = traceback.format_exception(ex_type, ex_value,
                                                         ex_tb)
            for line in exception_lines:
                LOG.debug(" %s", line.strip('\n'))
            LOG.debug("Starting subprocess...")
            res = subprocess.call(['python', __file__,
                                   "%s" % (with_script)])
            LOG.debug("Subprocess returned: %s", res)
            return res == 0

if __name__ == '__main__':
    dialog = None
    gtk.init_check()
    if sys.argv[1] == "True":
        dialog = gtk.MessageDialog(parent=None, type=gtk.MESSAGE_ERROR,
                                   buttons=gtk.BUTTONS_YES_NO)
        dialog.set_markup(_("A fatal error has been detected in update-manager."))
        dialog.format_secondary_markup("%s\n\n%s" % (
            _("Do you want to submit a bug report?"),
            _("Selecting No will close the application.")))
    else:
        dialog = gtk.MessageDialog(parent=None, type=gtk.MESSAGE_ERROR,
                                   buttons=gtk.BUTTONS_CLOSE)
        dialog.set_markup(_("A fatal error has been detected in update-manager."))
        dialog.format_secondary_markup(_("The program will now exit."))

    res = dialog.run()
    if res == gtk.RESPONSE_YES:
示例#15
0
 def __init__(self):
     self._ui = None
     gobject.threads_init()
     gtk.init_check()
     FrontendBase.__init__(self, uses_privileged_funcs=True)
示例#16
0
def main(server, eventHandler, params):
    try:
        params.updateFromServer(server)
        cmdline = params.parseActions()
        if not cmdline:
            print(
                "Nothing to do.  Use 'bitbake world' to build everything, or run 'bitbake --help' for usage information."
            )
            return 1
        if 'msg' in cmdline and cmdline['msg']:
            print(cmdline['msg'])
            return 1
        cmdline = cmdline['action']
        if not cmdline or cmdline[0] != "generateDotGraph":
            print("This UI requires the -g option")
            return 1
        ret, error = server.runCommand(
            ["generateDepTreeEvent", cmdline[1], cmdline[2]])
        if error:
            print("Error running command '%s': %s" % (cmdline, error))
            return 1
        elif ret != True:
            print("Error running command '%s': returned %s" % (cmdline, ret))
            return 1
    except xmlrpclib.Fault as x:
        print("XMLRPC Fault getting commandline:\n %s" % x)
        return

    try:
        gtk.init_check()
    except RuntimeError:
        sys.stderr.write(
            "Please set DISPLAY variable before running this command \n")
        return

    shutdown = 0

    gtkgui = gtkthread(shutdown)
    gtkgui.start()

    gtk.gdk.threads_enter()
    dep = DepExplorer()
    bardialog = gtk.Dialog(parent=dep,
                           flags=gtk.DIALOG_MODAL
                           | gtk.DIALOG_DESTROY_WITH_PARENT)
    bardialog.set_default_size(400, 50)
    pbar = HobProgressBar()
    bardialog.vbox.pack_start(pbar)
    bardialog.show_all()
    bardialog.connect("delete-event", gtk.main_quit)
    gtk.gdk.threads_leave()

    progress_total = 0
    while True:
        try:
            event = eventHandler.waitEvent(0.25)
            if gtkthread.quit.isSet():
                _, error = server.runCommand(["stateForceShutdown"])
                if error:
                    print('Unable to cleanly stop: %s' % error)
                break

            if event is None:
                continue

            if isinstance(event, bb.event.CacheLoadStarted):
                progress_total = event.total
                gtk.gdk.threads_enter()
                bardialog.set_title("Loading Cache")
                pbar.update(0)
                gtk.gdk.threads_leave()

            if isinstance(event, bb.event.CacheLoadProgress):
                x = event.current
                gtk.gdk.threads_enter()
                pbar.update(x * 1.0 / progress_total)
                pbar.set_title('')
                gtk.gdk.threads_leave()
                continue

            if isinstance(event, bb.event.CacheLoadCompleted):
                bardialog.hide()
                continue

            if isinstance(event, bb.event.ParseStarted):
                progress_total = event.total
                if progress_total == 0:
                    continue
                gtk.gdk.threads_enter()
                pbar.update(0)
                bardialog.set_title("Processing recipes")

                gtk.gdk.threads_leave()

            if isinstance(event, bb.event.ParseProgress):
                x = event.current
                gtk.gdk.threads_enter()
                pbar.update(x * 1.0 / progress_total)
                pbar.set_title('')
                gtk.gdk.threads_leave()
                continue

            if isinstance(event, bb.event.ParseCompleted):
                bardialog.hide()
                continue

            if isinstance(event, bb.event.DepTreeGenerated):
                gtk.gdk.threads_enter()
                dep.parse(event._depgraph)
                gtk.gdk.threads_leave()

            if isinstance(event, bb.command.CommandCompleted):
                continue

            if isinstance(event, bb.command.CommandFailed):
                print("Command execution failed: %s" % event.error)
                return event.exitcode

            if isinstance(event, bb.command.CommandExit):
                return event.exitcode

            if isinstance(event, bb.cooker.CookerExit):
                break

            continue
        except EnvironmentError as ioerror:
            # ignore interrupted io
            if ioerror.args[0] == 4:
                pass
        except KeyboardInterrupt:
            if shutdown == 2:
                print("\nThird Keyboard Interrupt, exit.\n")
                break
            if shutdown == 1:
                print("\nSecond Keyboard Interrupt, stopping...\n")
                _, error = server.runCommand(["stateForceShutdown"])
                if error:
                    print('Unable to cleanly stop: %s' % error)
            if shutdown == 0:
                print("\nKeyboard Interrupt, closing down...\n")
                _, error = server.runCommand(["stateShutdown"])
                if error:
                    print('Unable to cleanly shutdown: %s' % error)
            shutdown = shutdown + 1
            pass
示例#17
0
    def __init__(self, datadir=None, logdir=None):
        DistUpgradeView.__init__(self)
        self.logdir = logdir
        if not datadir or datadir == '.':
            localedir = os.path.join(os.getcwd(), "mo")
            gladedir = os.getcwd()
        else:
            localedir = "/usr/share/locale/"
            gladedir = os.path.join(datadir, "gtkbuilder")

        # check if we have a display etc
        gtk.init_check()

        try:
            locale.bindtextdomain("ubuntu-release-upgrader", localedir)
            gettext.textdomain("ubuntu-release-upgrader")
        except Exception as e:
            logging.warning("Error setting locales (%s)" % e)

        icons = gtk.icon_theme_get_default()
        try:
            gtk.window_set_default_icon(
                icons.load_icon("system-software-update", 32, 0))
        except gobject.GError as e:
            logging.debug("error setting default icon, ignoring (%s)" % e)
            pass
        SimpleGtkbuilderApp.__init__(self, gladedir + "/DistUpgrade.ui",
                                     "ubuntu-release-upgrader")
        # terminal stuff
        self.create_terminal()

        self.prev_step = 0  # keep a record of the latest step
        # we don't use this currently
        #self.window_main.set_keep_above(True)
        self.icontheme = gtk.icon_theme_get_default()
        # we keep a reference pngloader around so that its in memory
        # -> this avoid the issue that during the dapper->edgy upgrade
        #    the loaders move from /usr/lib/gtk/2.4.0/loaders to 2.10.0
        self.pngloader = gtk.gdk.PixbufLoader("png")
        try:
            self.svgloader = gtk.gdk.PixbufLoader("svg")
            self.svgloader.close()
        except gobject.GError as e:
            logging.debug("svg pixbuf loader failed (%s)" % e)
            pass
        try:
            import webkit
            self._webkit_view = webkit.WebView()
            self.vbox_main.pack_end(self._webkit_view)
        except:
            logging.exception("html widget")
            self._webkit_view = None
        self.window_main.realize()
        self.window_main.window.set_functions(gtk.gdk.FUNC_MOVE)
        self._opCacheProgress = GtkOpProgress(self.progressbar_cache)
        self._acquireProgress = GtkAcquireProgressAdapter(self)
        self._cdromProgress = GtkCdromProgressAdapter(self)
        self._installProgress = GtkInstallProgressAdapter(self)
        # details dialog
        self.details_list = gtk.TreeStore(gobject.TYPE_STRING)
        column = gtk.TreeViewColumn("")
        render = gtk.CellRendererText()
        column.pack_start(render, True)
        column.add_attribute(render, "markup", 0)
        self.treeview_details.append_column(column)
        self.details_list.set_sort_column_id(0, gtk.SORT_ASCENDING)
        self.treeview_details.set_model(self.details_list)
        # Use italic style in the status labels
        attrlist = pango.AttrList()
        #attr = pango.AttrStyle(pango.STYLE_ITALIC, 0, -1)
        attr = pango.AttrScale(pango.SCALE_SMALL, 0, -1)
        attrlist.insert(attr)
        self.label_status.set_property("attributes", attrlist)
        # reasonable fault handler
        sys.excepthook = self._handleException
示例#18
0
def main(server, eventHandler, params):
    try:
        params.updateFromServer(server)
        cmdline = params.parseActions()
        if not cmdline:
            print("Nothing to do.  Use 'bitbake world' to build everything, or run 'bitbake --help' for usage information.")
            return 1
        if 'msg' in cmdline and cmdline['msg']:
            print(cmdline['msg'])
            return 1
        cmdline = cmdline['action']
        if not cmdline or cmdline[0] != "generateDotGraph":
            print("This UI requires the -g option")
            return 1
        ret, error = server.runCommand(["generateDepTreeEvent", cmdline[1], cmdline[2]])
        if error:
            print("Error running command '%s': %s" % (cmdline, error))
            return 1
        elif ret != True:
            print("Error running command '%s': returned %s" % (cmdline, ret))
            return 1
    except xmlrpclib.Fault as x:
        print("XMLRPC Fault getting commandline:\n %s" % x)
        return

    try:
        gtk.init_check()
    except RuntimeError:
        sys.stderr.write("Please set DISPLAY variable before running this command \n")
        return

    shutdown = 0

    gtkgui = gtkthread(shutdown)
    gtkgui.start()

    gtk.gdk.threads_enter()
    dep = DepExplorer()
    bardialog = gtk.Dialog(parent=dep,
                           flags=gtk.DIALOG_MODAL|gtk.DIALOG_DESTROY_WITH_PARENT)
    bardialog.set_default_size(400, 50)
    pbar = HobProgressBar()
    bardialog.vbox.pack_start(pbar)
    bardialog.show_all()
    bardialog.connect("delete-event", gtk.main_quit)
    gtk.gdk.threads_leave()

    progress_total = 0
    while True:
        try:
            event = eventHandler.waitEvent(0.25)
            if gtkthread.quit.isSet():
                _, error = server.runCommand(["stateForceShutdown"])
                if error:
                    print('Unable to cleanly stop: %s' % error)
                break

            if event is None:
                continue

            if isinstance(event, bb.event.CacheLoadStarted):
                progress_total = event.total
                gtk.gdk.threads_enter()
                bardialog.set_title("Loading Cache")
                pbar.update(0)
                gtk.gdk.threads_leave()

            if isinstance(event, bb.event.CacheLoadProgress):
                x = event.current
                gtk.gdk.threads_enter()
                pbar.update(x * 1.0 / progress_total)
                pbar.set_title('')
                gtk.gdk.threads_leave()
                continue

            if isinstance(event, bb.event.CacheLoadCompleted):
                bardialog.hide()
                continue

            if isinstance(event, bb.event.ParseStarted):
                progress_total = event.total
                if progress_total == 0:
                    continue
                gtk.gdk.threads_enter()
                pbar.update(0)
                bardialog.set_title("Processing recipes")

                gtk.gdk.threads_leave()

            if isinstance(event, bb.event.ParseProgress):
                x = event.current
                gtk.gdk.threads_enter()
                pbar.update(x * 1.0 / progress_total)
                pbar.set_title('')
                gtk.gdk.threads_leave()
                continue

            if isinstance(event, bb.event.ParseCompleted):
                bardialog.hide()
                continue

            if isinstance(event, bb.event.DepTreeGenerated):
                gtk.gdk.threads_enter()
                dep.parse(event._depgraph)
                gtk.gdk.threads_leave()

            if isinstance(event, bb.command.CommandCompleted):
                continue

            if isinstance(event, bb.command.CommandFailed):
                print("Command execution failed: %s" % event.error)
                return event.exitcode

            if isinstance(event, bb.command.CommandExit):
                return event.exitcode

            if isinstance(event, bb.cooker.CookerExit):
                break

            continue
        except EnvironmentError as ioerror:
            # ignore interrupted io
            if ioerror.args[0] == 4:
                pass
        except KeyboardInterrupt:
            if shutdown == 2:
                print("\nThird Keyboard Interrupt, exit.\n")
                break
            if shutdown == 1:
                print("\nSecond Keyboard Interrupt, stopping...\n")
                _, error = server.runCommand(["stateForceShutdown"])
                if error:
                    print('Unable to cleanly stop: %s' % error)
            if shutdown == 0:
                print("\nKeyboard Interrupt, closing down...\n")
                _, error = server.runCommand(["stateShutdown"])
                if error:
                    print('Unable to cleanly shutdown: %s' % error)
            shutdown = shutdown + 1
            pass