From 128c77d03ae413295f7c7803835788192b7e3315 Mon Sep 17 00:00:00 2001 From: Barry Warsaw Date: Wed, 23 May 2001 16:59:45 +0000 Subject: [PATCH] write(): Do two levels of sorting: first sort the individual location tuples by filename/lineno, then sort the catalog entries by their location tuples. --- Tools/i18n/pygettext.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Tools/i18n/pygettext.py b/Tools/i18n/pygettext.py index 804c98c5e9e..14a83b4f7ba 100755 --- a/Tools/i18n/pygettext.py +++ b/Tools/i18n/pygettext.py @@ -325,7 +325,17 @@ def write(self, fp): # The time stamp in the header doesn't have the same format as that # generated by xgettext... print >> fp, pot_header % {'time': timestamp, 'version': __version__} + # Sort the entries. First sort each particular entry's keys, then + # sort all the entries by their first item. + reverse = {} for k, v in self.__messages.items(): + keys = v.keys() + keys.sort() + reverse[tuple(keys)] = (k, v) + rkeys = reverse.keys() + rkeys.sort() + for rkey in rkeys: + k, v = reverse[rkey] # If the entry was gleaned out of a docstring, then add a comment # stating so. This is to aid translators who may wish to skip # translating some unimportant docstrings.