Merge lp:~mvo/software-center/speedup2 into lp:software-center

Proposed by Michael Vogt
Status: Merged
Merged at revision: 3141
Proposed branch: lp:~mvo/software-center/speedup2
Merge into: lp:software-center
Diff against target: 144 lines (+21/-10)
7 files modified
software-center (+2/-1)
softwarecenter/i18n.py (+2/-2)
softwarecenter/region.py (+3/-2)
softwarecenter/ui/gtk3/app.py (+4/-2)
softwarecenter/ui/gtk3/panes/installedpane.py (+1/-1)
softwarecenter/ui/gtk3/panes/softwarepane.py (+3/-1)
softwarecenter/ui/gtk3/views/purchaseview.py (+6/-1)
To merge this branch: bzr merge lp:~mvo/software-center/speedup2
Reviewer Review Type Date Requested Status
Gary Lasker (community) Approve
Review via email: mp+122059@code.launchpad.net

Description of the change

This improves startup time on the rasberry pi and the atom based
netbook. Its about 1s quicker to show the window and 2s until its
visible on atom netbook

To post a comment you must log in.
lp:~mvo/software-center/speedup2 updated
3137. By Michael Vogt

softwarecenter/region.py: use lxml here as well

3138. By Michael Vogt

softwarecenter/region.py: delay import

Revision history for this message
Gary Lasker (gary-lasker) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'software-center'
--- software-center 2012-08-10 13:23:52 +0000
+++ software-center 2012-08-30 13:05:21 +0000
@@ -128,7 +128,8 @@
128 Gtk.init_check(sys.argv)128 Gtk.init_check(sys.argv)
129129
130 # create the app130 # create the app
131 from softwarecenter.ui.gtk3.app import SoftwareCenterAppGtk3131 with ExecutionTime("import SoftwareCenterApp"):
132 from softwarecenter.ui.gtk3.app import SoftwareCenterAppGtk3
132 with ExecutionTime("create SoftwareCenterApp"):133 with ExecutionTime("create SoftwareCenterApp"):
133 app = SoftwareCenterAppGtk3(datadir, xapian_base_path, options, args)134 app = SoftwareCenterAppGtk3(datadir, xapian_base_path, options, args)
134135
135136
=== modified file 'softwarecenter/i18n.py'
--- softwarecenter/i18n.py 2012-04-12 14:25:07 +0000
+++ softwarecenter/i18n.py 2012-08-30 13:05:21 +0000
@@ -74,12 +74,12 @@
7474
7575
76def langcode_to_name(langcode):76def langcode_to_name(langcode):
77 import xml.etree.ElementTree77 from lxml import etree
78 from gettext import dgettext78 from gettext import dgettext
79 for iso in ["iso_639_3", "iso_639"]:79 for iso in ["iso_639_3", "iso_639"]:
80 path = os.path.join("/usr/share/xml/iso-codes/", iso + ".xml")80 path = os.path.join("/usr/share/xml/iso-codes/", iso + ".xml")
81 if os.path.exists(path):81 if os.path.exists(path):
82 root = xml.etree.ElementTree.parse(path)82 root = etree.parse(path)
83 xpath = ".//%s_entry[@part1_code='%s']" % (iso, langcode)83 xpath = ".//%s_entry[@part1_code='%s']" % (iso, langcode)
84 match = root.find(xpath)84 match = root.find(xpath)
85 if match is not None:85 if match is not None:
8686
=== modified file 'softwarecenter/region.py'
--- softwarecenter/region.py 2012-03-15 10:43:13 +0000
+++ softwarecenter/region.py 2012-08-30 13:05:21 +0000
@@ -24,7 +24,7 @@
24import locale24import locale
25import logging25import logging
26import os26import os
27import xml.etree.ElementTree27
28from gettext import dgettext28from gettext import dgettext
29from gettext import gettext as _29from gettext import gettext as _
3030
@@ -42,12 +42,13 @@
4242
43def get_region_name(countrycode):43def get_region_name(countrycode):
44 """ return translated region name from countrycode using iso3166 """44 """ return translated region name from countrycode using iso3166 """
45 from lxml import etree
45 # find translated name46 # find translated name
46 if countrycode:47 if countrycode:
47 for iso in ["iso_3166", "iso_3166_2"]:48 for iso in ["iso_3166", "iso_3166_2"]:
48 path = os.path.join("/usr/share/xml/iso-codes/", iso + ".xml")49 path = os.path.join("/usr/share/xml/iso-codes/", iso + ".xml")
49 if os.path.exists(path):50 if os.path.exists(path):
50 root = xml.etree.ElementTree.parse(path)51 root = etree.parse(path)
51 xpath = ".//%s_entry[@alpha_2_code='%s']" % (iso, countrycode)52 xpath = ".//%s_entry[@alpha_2_code='%s']" % (iso, countrycode)
52 match = root.find(xpath)53 match = root.find(xpath)
53 if match is not None:54 if match is not None:
5455
=== modified file 'softwarecenter/ui/gtk3/app.py'
--- softwarecenter/ui/gtk3/app.py 2012-08-16 14:44:29 +0000
+++ softwarecenter/ui/gtk3/app.py 2012-08-30 13:05:21 +0000
@@ -92,8 +92,10 @@
92import softwarecenter.ui.gtk3.dialogs as dialogs92import softwarecenter.ui.gtk3.dialogs as dialogs
9393
94from softwarecenter.ui.gtk3.SimpleGtkbuilderApp import SimpleGtkbuilderApp94from softwarecenter.ui.gtk3.SimpleGtkbuilderApp import SimpleGtkbuilderApp
95from softwarecenter.ui.gtk3.panes.installedpane import InstalledPane95with ExecutionTime("import InstalledPane"):
96from softwarecenter.ui.gtk3.panes.availablepane import AvailablePane96 from softwarecenter.ui.gtk3.panes.installedpane import InstalledPane
97with ExecutionTime("import AvailablePane"):
98 from softwarecenter.ui.gtk3.panes.availablepane import AvailablePane
97from softwarecenter.ui.gtk3.panes.historypane import HistoryPane99from softwarecenter.ui.gtk3.panes.historypane import HistoryPane
98from softwarecenter.ui.gtk3.panes.globalpane import GlobalPane100from softwarecenter.ui.gtk3.panes.globalpane import GlobalPane
99from softwarecenter.ui.gtk3.panes.pendingpane import PendingPane101from softwarecenter.ui.gtk3.panes.pendingpane import PendingPane
100102
=== modified file 'softwarecenter/ui/gtk3/panes/installedpane.py'
--- softwarecenter/ui/gtk3/panes/installedpane.py 2012-06-28 08:51:44 +0000
+++ softwarecenter/ui/gtk3/panes/installedpane.py 2012-08-30 13:05:21 +0000
@@ -40,7 +40,7 @@
40from softwarecenter.ui.gtk3.widgets.oneconfviews import OneConfViews40from softwarecenter.ui.gtk3.widgets.oneconfviews import OneConfViews
41from softwarecenter.ui.gtk3.widgets.spinner import SpinnerNotebook41from softwarecenter.ui.gtk3.widgets.spinner import SpinnerNotebook
42from softwarecenter.ui.gtk3.views.appview import AppView42from softwarecenter.ui.gtk3.views.appview import AppView
43from softwarepane import SoftwarePane43from softwarecenter.ui.gtk3.panes.softwarepane import SoftwarePane
44from softwarecenter.backend.oneconfhandler import get_oneconf_handler44from softwarecenter.backend.oneconfhandler import get_oneconf_handler
45from softwarecenter.db.appfilter import AppFilter45from softwarecenter.db.appfilter import AppFilter
46from softwarecenter.paths import APP_INSTALL_PATH46from softwarecenter.paths import APP_INSTALL_PATH
4747
=== modified file 'softwarecenter/ui/gtk3/panes/softwarepane.py'
--- softwarecenter/ui/gtk3/panes/softwarepane.py 2012-08-22 06:49:53 +0000
+++ softwarecenter/ui/gtk3/panes/softwarepane.py 2012-08-30 13:05:21 +0000
@@ -43,7 +43,6 @@
43from softwarecenter.ui.gtk3.widgets.searchaid import SearchAid43from softwarecenter.ui.gtk3.widgets.searchaid import SearchAid
4444
45from softwarecenter.ui.gtk3.views.appview import AppView45from softwarecenter.ui.gtk3.views.appview import AppView
46from softwarecenter.ui.gtk3.views.appdetailsview import AppDetailsView
4746
48from softwarecenter.ui.gtk3.session.displaystate import DisplayState47from softwarecenter.ui.gtk3.session.displaystate import DisplayState
4948
@@ -152,6 +151,9 @@
152 self.scroll_details = Gtk.ScrolledWindow()151 self.scroll_details = Gtk.ScrolledWindow()
153 self.scroll_details.set_policy(Gtk.PolicyType.AUTOMATIC,152 self.scroll_details.set_policy(Gtk.PolicyType.AUTOMATIC,
154 Gtk.PolicyType.AUTOMATIC)153 Gtk.PolicyType.AUTOMATIC)
154 # delayed import gives ~1s speedup until visible on the raspi
155 with ExecutionTime("import AppDetailsView"):
156 from softwarecenter.ui.gtk3.views.appdetailsview import AppDetailsView
155 with ExecutionTime("SoftwarePane.AppDetailsView"):157 with ExecutionTime("SoftwarePane.AppDetailsView"):
156 self.app_details_view = AppDetailsView(self.db,158 self.app_details_view = AppDetailsView(self.db,
157 self.distro,159 self.distro,
158160
=== modified file 'softwarecenter/ui/gtk3/views/purchaseview.py'
--- softwarecenter/ui/gtk3/views/purchaseview.py 2012-08-30 08:22:32 +0000
+++ softwarecenter/ui/gtk3/views/purchaseview.py 2012-08-30 13:05:21 +0000
@@ -33,7 +33,6 @@
33from softwarecenter.ui.gtk3.dialogs import show_accept_tos_dialog33from softwarecenter.ui.gtk3.dialogs import show_accept_tos_dialog
34from softwarecenter.config import get_config34from softwarecenter.config import get_config
35from softwarecenter.ui.gtk3.utils import get_parent35from softwarecenter.ui.gtk3.utils import get_parent
36from softwarecenter.ui.gtk3.widgets.webkit import ScrolledWebkitWindow
3736
38LOG = logging.getLogger(__name__)37LOG = logging.getLogger(__name__)
3938
@@ -111,6 +110,10 @@
111110
112 def init_view(self):111 def init_view(self):
113 if self.wk is None:112 if self.wk is None:
113 # delaying this import make the window appear on the raspi
114 # 3s quicker
115 from softwarecenter.ui.gtk3.widgets.webkit import (
116 ScrolledWebkitWindow)
114 self.wk = ScrolledWebkitWindow()117 self.wk = ScrolledWebkitWindow()
115 # automatically fill in the email in the login page118 # automatically fill in the email in the login page
116 self.wk.webkit.set_auto_insert_email(self.config.email)119 self.wk.webkit.set_auto_insert_email(self.config.email)
@@ -186,6 +189,8 @@
186 return True189 return True
187190
188 def _on_create_web_view(self, view, frame):191 def _on_create_web_view(self, view, frame):
192 from softwarecenter.ui.gtk3.widgets.webkit import (
193 ScrolledWebkitWindow)
189 win = Gtk.Window()194 win = Gtk.Window()
190 win.set_size_request(400, 400)195 win.set_size_request(400, 400)
191 wk = ScrolledWebkitWindow(include_progress_ui=True)196 wk = ScrolledWebkitWindow(include_progress_ui=True)

Subscribers

People subscribed via source and target branches