author | Shawn Walker <shawn.walker@oracle.com> |
Fri, 07 Oct 2011 11:53:41 -0700 | |
branch | 2010.2H |
changeset 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 |
# |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
22 |
# Copyright 2010 Sun Microsystems, Inc. All rights reserved. |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
23 |
# Use is subject to license terms. |
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 |
|
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
26 |
import sys |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
27 |
try: |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
28 |
import pango |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
29 |
except ImportError: |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
30 |
sys.exit(1) |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
31 |
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
|
32 |
|
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
33 |
class SearchError: |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
34 |
def __init__(self, builder, gconf, parent): |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
35 |
self.gconf = gconf |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
36 |
self.parent = parent |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
37 |
self.api_search_error_dialog = \ |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
38 |
builder.get_object("api_search_error") |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
39 |
self.api_search_error_textview = \ |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
40 |
builder.get_object("api_search_error_text") |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
41 |
self.api_search_checkbox = \ |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
42 |
builder.get_object("api_search_checkbox") |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
43 |
self.api_search_button = \ |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
44 |
builder.get_object("api_search_button") |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
45 |
infobuffer = self.api_search_error_textview.get_buffer() |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
46 |
infobuffer.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
|
47 |
self.pylintstub = None |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
48 |
|
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
49 |
def setup_signals(self): |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
50 |
signals_table = [ |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
51 |
(self.api_search_checkbox, "toggled", |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
52 |
self.__on_api_search_checkbox_toggled), |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
53 |
(self.api_search_button, "clicked", |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
54 |
self.__on_api_search_button_clicked), |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
55 |
(self.api_search_error_dialog, "delete_event", |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
56 |
self.__on_api_search_error_delete_event) |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
57 |
] |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
58 |
for widget, signal_name, callback in signals_table: |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
59 |
widget.connect(signal_name, callback) |
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 |
def set_modal_and_transient(self, parent_window): |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
62 |
gui_misc.set_modal_and_transient(self.api_search_error_dialog, |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
63 |
parent_window) |
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 |
def __on_api_search_error_delete_event(self, widget, event): |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
66 |
self.__on_api_search_button_clicked(None) |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
67 |
|
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
68 |
def __on_api_search_button_clicked(self, widget): |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
69 |
self.api_search_error_dialog.hide() |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
70 |
|
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
71 |
def __on_api_search_checkbox_toggled(self, widget): |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
72 |
active = self.api_search_checkbox.get_active() |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
73 |
|
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
74 |
repos = self.parent.get_current_repos_with_search_errors() |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
75 |
if len(repos) > 0: |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
76 |
if active: |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
77 |
for pub, err_type, err_str in repos: |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
78 |
if pub not in self.gconf.not_show_repos: |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
79 |
self.gconf.not_show_repos += pub + "," |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
80 |
self.pylintstub = err_type |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
81 |
self.pylintstub = err_str |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
82 |
else: |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
83 |
for pub, err_type, err_str in repos: |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
84 |
self.gconf.not_show_repos = \ |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
85 |
self.gconf.not_show_repos.replace( |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
86 |
pub + ",", "") |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
87 |
self.gconf.set_not_show_repos(self.gconf.not_show_repos) |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
88 |
|
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
89 |
def display_search_errors(self, show_all): |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
90 |
repos = self.parent.get_current_repos_with_search_errors() |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
91 |
infobuffer = self.api_search_error_textview.get_buffer() |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
92 |
infobuffer.set_text("") |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
93 |
textiter = infobuffer.get_end_iter() |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
94 |
for pub, err_type, err_str in repos: |
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 |
if show_all or (pub not in self.gconf.not_show_repos): |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
97 |
infobuffer.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
|
98 |
"%(pub)s (%(err_type)s)\n" % {"pub": pub, |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
99 |
"err_type": err_type}, "bold") |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
100 |
infobuffer.insert(textiter, "%s\n" % (err_str)) |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
101 |
|
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
102 |
self.api_search_checkbox.set_active(False) |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
103 |
self.api_search_error_dialog.show() |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
104 |
self.api_search_button.grab_focus() |
20cf41d565de
7098585 pkg support for upgrading to fcs release needed
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
105 |