author | david.comay@oracle.com |
Mon, 24 Oct 2011 09:33:16 -0700 | |
branch | 2010.2H |
changeset 2578 | 630e1ffc7a19 |
parent 2572 | 20cf41d565de |
permissions | -rw-r--r-- |
2572
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
1 |
#!/usr/bin/python |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
2 |
# |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
3 |
# CDDL HEADER START |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
4 |
# |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
5 |
# The contents of this file are subject to the terms of the |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
6 |
# Common Development and Distribution License (the "License"). |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
7 |
# You may not use this file except in compliance with the License. |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
8 |
# |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
9 |
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
10 |
# or http://www.opensolaris.org/os/licensing. |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
11 |
# See the License for the specific language governing permissions |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
12 |
# and limitations under the License. |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
13 |
# |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
14 |
# When distributing Covered Code, include this CDDL HEADER in each |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
15 |
# file and include the License file at usr/src/OPENSOLARIS.LICENSE. |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
16 |
# If applicable, add the following below this CDDL HEADER, with the |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
17 |
# fields enclosed by brackets "[]" replaced with your own identifying |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
18 |
# information: Portions Copyright [yyyy] [name of copyright owner] |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
19 |
# |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
20 |
# CDDL HEADER END |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
21 |
# |
2578
630e1ffc7a19
7104247 Remove platform exclude dependencies in Solaris 11 Express SRU
david.comay@oracle.com
parents:
2572
diff
changeset
|
22 |
# Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved. |
2572
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
23 |
# |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
24 |
|
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
25 |
import sys |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
26 |
import threading |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
27 |
import traceback |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
28 |
from cStringIO import StringIO |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
29 |
|
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
30 |
try: |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
31 |
import gobject |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
32 |
import gtk |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
33 |
import pango |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
34 |
except ImportError: |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
35 |
sys.exit(1) |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
36 |
import pkg.misc as misc |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
37 |
import pkg.gui.misc as gui_misc |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
38 |
|
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
39 |
class GlobalExceptionHandler: |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
40 |
def __init__(self): |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
41 |
self.parent = None |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
42 |
sys.excepthook = self.global_exception_handler |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
43 |
self.installThreadExcepthook() |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
44 |
|
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
45 |
def set_parent(self, parent): |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
46 |
self.parent = parent |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
47 |
|
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
48 |
def global_exception_handler(self, exctyp, value, tb): |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
49 |
if self.parent: |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
50 |
if self.parent.child: |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
51 |
self.parent.child.cleanup() |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
52 |
trace = StringIO() |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
53 |
traceback.print_exception (exctyp, value, tb, None, trace) |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
54 |
if exctyp is MemoryError: |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
55 |
gobject.idle_add(self.__display_memory_err) |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
56 |
else: |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
57 |
gobject.idle_add(self.__display_unknown_err_ex, trace) |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
58 |
|
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
59 |
def installThreadExcepthook(self): |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
60 |
""" |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
61 |
Workaround for sys.excepthook python thread bug from: |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
62 |
Bug: sys.excepthook doesn't work in threads |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
63 |
http://bugs.python.org/issue1230540#msg91244 |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
64 |
""" |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
65 |
init_old = threading.Thread.__init__ |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
66 |
def init(self, *ite_args, **ite_kwargs): |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
67 |
init_old(self, *ite_args, **ite_kwargs) |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
68 |
run_old = self.run |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
69 |
def run_with_except_hook(*rweh_args, **rweh_kwargs): |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
70 |
try: |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
71 |
run_old(*rweh_args, **rweh_kwargs) |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
72 |
except (KeyboardInterrupt, SystemExit): |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
73 |
raise |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
74 |
except: |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
75 |
if not sys: |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
76 |
raise |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
77 |
sys.excepthook(*sys.exc_info()) |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
78 |
self.run = run_with_except_hook |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
79 |
threading.Thread.__init__ = init |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
80 |
|
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
81 |
def __display_memory_err(self): |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
82 |
try: |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
83 |
dmsg = misc.out_of_memory() |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
84 |
msg_stripped = dmsg.replace("\n", " ") |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
85 |
gui_misc.error_occurred(None, msg_stripped, _("Package Manager"), |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
86 |
gtk.MESSAGE_ERROR) |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
87 |
except MemoryError: |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
88 |
print dmsg |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
89 |
except Exception: |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
90 |
pass |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
91 |
if self.parent: |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
92 |
self.parent.unhandled_exception_shutdown() |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
93 |
else: |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
94 |
sys.exit() |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
95 |
|
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
96 |
def __display_unknown_err_ex(self, trace): |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
97 |
try: |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
98 |
self.__display_unknown_err(trace) |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
99 |
except MemoryError: |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
100 |
print trace |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
101 |
except Exception: |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
102 |
pass |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
103 |
if self.parent: |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
104 |
self.parent.unhandled_exception_shutdown() |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
105 |
else: |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
106 |
sys.exit() |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
107 |
|
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
108 |
def __display_unknown_err(self, trace): |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
109 |
dmsg = _("An unknown error occurred") |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
110 |
md = gtk.MessageDialog(type=gtk.MESSAGE_ERROR, message_format=dmsg) |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
111 |
close_btn = md.add_button(gtk.STOCK_CLOSE, 100) |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
112 |
md.set_default_response(100) |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
113 |
|
2578
630e1ffc7a19
7104247 Remove platform exclude dependencies in Solaris 11 Express SRU
david.comay@oracle.com
parents:
2572
diff
changeset
|
114 |
dmsg = misc.get_traceback_message() |
630e1ffc7a19
7104247 Remove platform exclude dependencies in Solaris 11 Express SRU
david.comay@oracle.com
parents:
2572
diff
changeset
|
115 |
# We remove all \n except the initial one. |
630e1ffc7a19
7104247 Remove platform exclude dependencies in Solaris 11 Express SRU
david.comay@oracle.com
parents:
2572
diff
changeset
|
116 |
dmsg = "\n" + dmsg.replace("\n", " ").lstrip() |
2572
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
117 |
md.format_secondary_text(dmsg) |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
118 |
md.set_title(_('Unexpected Error')) |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
119 |
|
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
120 |
textview = gtk.TextView() |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
121 |
textview.show() |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
122 |
textview.set_editable(False) |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
123 |
textview.set_wrap_mode(gtk.WRAP_WORD) |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
124 |
|
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
125 |
sw = gtk.ScrolledWindow() |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
126 |
sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
127 |
sw.add(textview) |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
128 |
fr = gtk.Frame() |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
129 |
fr.set_shadow_type(gtk.SHADOW_IN) |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
130 |
fr.add(sw) |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
131 |
ca = md.get_content_area() |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
132 |
ca.pack_start(fr) |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
133 |
|
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
134 |
textbuffer = textview.get_buffer() |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
135 |
textbuffer.create_tag("bold", weight=pango.WEIGHT_BOLD) |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
136 |
textbuffer.create_tag("level1", left_margin=30, right_margin=10) |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
137 |
textiter = textbuffer.get_end_iter() |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
138 |
textbuffer.insert_with_tags_by_name(textiter, |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
139 |
_("Error details:\n"), "bold") |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
140 |
textbuffer.insert_with_tags_by_name(textiter, trace.getvalue(), "level1") |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
141 |
publisher_str = "" |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
142 |
if self.parent: |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
143 |
publisher_str = \ |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
144 |
gui_misc.get_publishers_for_output( |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
145 |
self.parent.get_api_object()) |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
146 |
if publisher_str != "": |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
147 |
textbuffer.insert_with_tags_by_name(textiter, |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
148 |
_("\nList of configured publishers:"), "bold") |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
149 |
textbuffer.insert_with_tags_by_name( |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
150 |
textiter, publisher_str + "\n", "level1") |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
151 |
|
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
152 |
if publisher_str == "": |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
153 |
textbuffer.insert_with_tags_by_name(textiter, |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
154 |
_("\nPlease include output from:\n"), "bold") |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
155 |
textbuffer.insert(textiter, "$ pkg publisher\n") |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
156 |
|
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
157 |
md.set_size_request(550, 400) |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
158 |
md.set_resizable(True) |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
159 |
close_btn.grab_focus() |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
160 |
md.show_all() |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
161 |
md.run() |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
162 |
md.destroy() |