From: Barry Warsaw Date: Wed, 23 May 2001 16:59:45 +0000 (+0000) Subject: write(): Do two levels of sorting: first sort the individual location X-Git-Tag: v2.2a3~1676 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=128c77d03ae413295f7c7803835788192b7e3315;p=thirdparty%2FPython%2Fcpython.git write(): Do two levels of sorting: first sort the individual location tuples by filename/lineno, then sort the catalog entries by their location tuples. --- diff --git a/Tools/i18n/pygettext.py b/Tools/i18n/pygettext.py index 804c98c5e9ed..14a83b4f7bae 100755 --- a/Tools/i18n/pygettext.py +++ b/Tools/i18n/pygettext.py @@ -325,7 +325,17 @@ class TokenEater: # 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.