#from itertools import groupby Full Index #set $star = [] #for $item in $spec.everything.values() + $spec.errors.values() + $spec.generic_types #echo $star.append(($item.short_name, $item)) #slurp #end for #echo $star.sort(key = lambda t: t[0].title()) #slurp ## one use iterators... #set $groups = [ (l, list(g)) for l, g in (groupby($star, key = lambda t: t[0][0].upper())) ] #set $letters = set(map(lambda t: t[0], groups))

Full Index

Interface Index (Compact) #for $a in map(chr, xrange(ord('A'), ord('Z')+1)) #if $a in $letters | $a #else | $a #end if #end for
#for l, g in $groups #for $n in $g #if $n[1].deprecated #else #end if #end for #end for
$l
$n[0] #if $n[1].deprecated: (deprecated) $n[1].get_type_name() #if $n[1].parent.__class__.__name__ == 'Interface': $n[1].parent.name