Replace locale.strcoll with locale.strxfmt for performance and Python 3.0 compliance

svn: r12739
This commit is contained in:
Gerald Britton
2009-06-30 14:05:57 +00:00
parent b1dd135363
commit d022d0187b
6 changed files with 109 additions and 15 deletions
+3 -3
View File
@@ -57,8 +57,8 @@ import gen.lib
#------------------------------------------------------------------------
def _get_sort_functions(sort):
return [
(_("Birth Date"),sort.by_birthdate),
(_("Name"),sort.by_last_name),
(_("Birth Date"),sort.by_birthdate_key),
(_("Name"),sort.by_last_name_key),
]
#------------------------------------------------------------------------
@@ -134,7 +134,7 @@ class TimeLine(Report):
length = len(self.plist)
self.progress.set_pass(_('Sorting dates...'), 1)
self.plist.sort(self.sort_func)
self.plist.sort(key=self.sort_func)
self.progress.set_pass(_('Calculating timeline...'), len(self.plist))
for p_id in self.plist:
+1 -1
View File
@@ -81,7 +81,7 @@ class PlaceReport(Report):
# Use the place handles selected without a filter
self.place_handles = self.__get_place_handles(places)
self.place_handles.sort(self.sort.by_place_title)
self.place_handles.sort(key=self.sort.by_place_title_key)
def write_report(self):
"""
+7 -7
View File
@@ -53,11 +53,11 @@ def _get_sort_functions(sort):
Define the types of sorting that is available
"""
return [
(_("Date"), sort.by_date),
(_("Type"), sort.by_event_type),
(_("ID"), sort.by_event_id),
(_("Description"), sort.by_event_description),
(_("Place"), sort.by_event_place),]
(_("Date"), sort.by_date_key),
(_("Type"), sort.by_event_type_key),
(_("ID"), sort.by_event_id_key),
(_("Description"), sort.by_event_description_key),
(_("Place"), sort.by_event_place_key),]
#-------------------------------------------------------------------------
#
@@ -118,7 +118,7 @@ class SortEvents(PluginWindows.ToolManagedWindowBatch):
person = self.db.get_person_from_handle(handle)
self.progress.step()
event_ref_list = person.get_event_ref_list()
event_ref_list.sort(lambda x, y: self.sort_func(x.ref, y.ref))
event_ref_list.sort(key=lambda x: self.sort_func(x.ref))
if self.sort_desc:
event_ref_list.reverse()
if self.fam_events:
@@ -139,7 +139,7 @@ class SortEvents(PluginWindows.ToolManagedWindowBatch):
family = self.db.get_family_from_handle(handle)
self.progress.step()
event_ref_list = family.get_event_ref_list()
event_ref_list.sort(lambda x, y: self.sort_func(x.ref, y.ref))
event_ref_list.sort(key=lambda x: self.sort_func(x.ref))
if self.sort_desc:
event_ref_list.reverse()
family.set_event_ref_list(event_ref_list)
+3 -3
View File
@@ -1380,7 +1380,7 @@ class PlaceListPage(BasePage):
thead += trow
sort = Sort.Sort(db)
handle_list = sorted(place_handles, sort.by_place_title)
handle_list = sorted(place_handles, key=sort.by_place_title_key)
last_letter = ''
# begin table body
@@ -2301,7 +2301,7 @@ class MediaListPage(BasePage):
index = 1
sort = Sort.Sort(db)
mlist = sorted(self.report.photo_list, sort.by_media_title)
mlist = sorted(self.report.photo_list, key=sort.by_media_title_key)
for handle in mlist:
media = db.get_object_from_handle(handle)
@@ -4305,7 +4305,7 @@ class NavWebReport(Report):
prev = None
total = len(self.photo_list)
sort = Sort.Sort(self.database)
photo_keys = sorted(self.photo_list, sort.by_media_title)
photo_keys = sorted(self.photo_list, key=sort.by_media_title_key)
index = 1
for photo_handle in photo_keys: