Changeset 202

Show
Ignore:
Timestamp:
05/16/05 17:56:00 (4 years ago)
Author:
athomas
Message:

ORDER now works.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • manage/branches/python/CLI.py

    r201 r202  
    260260 
    261261                def sort_grammar_keys(self, keys, grammar): 
    262                         keys.keys().sort(cmp = lambda a, b: \ 
    263                                 type(grammar[a]) is dict and ORDER in grammar[a] \ 
    264                                 and type(grammar[b]) is dict and ORDER in grammar[b] \ 
    265                                 and cmp(grammar[a][ORDER], grammar[b][ORDER]) \ 
    266                                 or cmp(a, b)) 
    267                         return keys 
     262                        def key_sort(a, b): 
     263                                l = [9999, 9999, a] 
     264                                r = [9999, 9999, b] 
     265                                if type(grammar[a]) is dict: 
     266                                        if GROUP in grammar[a]: 
     267                                                if type(grammar[a][GROUP]) is tuple: 
     268                                                        l[0] = gramar[a][GROUP][0] 
     269                                                elif type(grammar[a][GROUP]) is int: 
     270                                                        l[0] = grammar[a][GROUP] 
     271                                        if ORDER in grammar[a]: 
     272                                                l[1] = grammar[a][ORDER] 
     273 
     274                                if type(grammar[b]) is dict: 
     275                                        if GROUP in grammar[b]: 
     276                                                if type(grammar[b][GROUP]) is tuple: 
     277                                                        r[0] = gramar[b][GROUP][0] 
     278                                                elif type(grammar[b][GROUP]) is int: 
     279                                                        r[0] = grammar[b][GROUP] 
     280                                        if ORDER in grammar[b]: 
     281                                                r[1] = grammar[b][ORDER] 
     282                                return cmp(l, r) 
     283 
     284                        k = keys.keys() 
     285                        k.sort(cmp = key_sort) 
     286                        return k 
    268287 
    269288                def grammar_branches(self, grammar):