[mythtv-commits] Ticket #1678: mythvideo sorting is case-sensitive

MythTV mythtv at cvs.mythtv.org
Sat Apr 15 17:23:12 UTC 2006


#1678: mythvideo sorting is case-sensitive
-------------------------------+--------------------------------------------
 Reporter:  thomas at boerkel.de  |        Owner:  ijr 
     Type:  patch              |       Status:  new 
 Priority:  minor              |    Milestone:      
Component:  mythvideo          |      Version:  0.19
 Severity:  low                |   Resolution:      
-------------------------------+--------------------------------------------
Changes (by sphery <mtdean at thirdcontact.com>):

  * type:  defect => patch

Comment:

 Attached patch fixes the issue described here by removing the QMap quick-
 and-easy sort and instead using a new "SortableMetadataList" class to do
 the sort.  As a side-effect of this change, the patch also:

 * Provides a locale-aware comparison (rather than using Unicode values),
 so sorting titles with umlauts, etc. will be correct

 * Appends the filename to the title to act as a "secondary" sort key (per
 George Nassus's desires as expressed in #1569 and http://www.gossamer-
 threads.com/lists/mythtv/dev/192838#192838 )

 * Appends a zero-padded video ID to the title/filename key to act as a
 "tertiary" sort key (the secondary sort key fails if filenames are
 identical except for case, even if lower() is called before appending the
 filename)

 * Does a case-insensitive sort--regardless of the locale's LC_COLLATE
 preference (US English sorting according to LC_COLLATE is case-sensitive,
 which seems against the reporter's wishes)

 The compareItems() function is rather verbose to allow the committer to
 more easily change it's behavior.  This is the only reason each change was
 made on a separate line, so feel free to condense the lines as desired.
 Note, also, that using filename as a secondary sort key is a new addition.
 Current SVN head is using the video ID as a secondary sort key since
 [9694].

 After the patch, the only "unusual" behavior occurs when there exist at
 least two identically-titled (including case) videos in different
 directories and at least one with a similar title, differing only in case.
 In this situation, the identically-titled videos may be separated from one
 another by the video(s) with similar titles and different case.  The same
 holds true where the titles differ only by an indefinite article at the
 beginning.  Although it's possible to work around this (sort by case when
 titles are otherwise identical and include the article in the sort key
 when it is the only difference), I feel it's enough of an edge case (far
 out on the fringes of reality) that it's not worth the extra
 code/processing time.  Let me know if you disagree.  :)

-- 
Ticket URL: <http://svn.mythtv.org/trac/ticket/1678>
MythTV <http://www.mythtv.org/>
MythTV


More information about the mythtv-commits mailing list