From 7e221a6e9809946d79dae755358de0e1e6052ca9 Mon Sep 17 00:00:00 2001 From: M2j Date: Thu, 9 Dec 2010 16:08:04 +0100 Subject: [PATCH] locale aware song sorting --- openlp/plugins/songs/lib/mediaitem.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/openlp/plugins/songs/lib/mediaitem.py b/openlp/plugins/songs/lib/mediaitem.py index d559809ec..dc8310e9d 100644 --- a/openlp/plugins/songs/lib/mediaitem.py +++ b/openlp/plugins/songs/lib/mediaitem.py @@ -25,6 +25,7 @@ ############################################################################### import logging +import locale import re from PyQt4 import QtCore, QtGui @@ -215,6 +216,7 @@ class SongMediaItem(MediaManagerItem): def displayResultsSong(self, searchresults): log.debug(u'display results Song') self.listView.clear() + searchresults.sort(cmp=self.collateSongTitles) for song in searchresults: author_list = u'' for author in song.authors: @@ -439,3 +441,9 @@ class SongMediaItem(MediaManagerItem): if editId != 0: Receiver.send_message(u'service_item_update', u'%s:%s' %(editId, uuid)) + + def collateSongTitles(self, song_1, song_2): + """ + Locale aware collation of song titles + """ + return locale.strcoll(unicode(song_1.title), unicode(song_2.title))