INNER CODE UNIT · Python
read_layouts
Julow/Unexpected-Keyboard · gen_layouts.py:22
def read_layouts(files):
for layout_file in files:
layout_id, _ = os.path.splitext(os.path.basename(layout_file))
layout = read_layout(layout_file)
if layout == None:
print("Not a layout file: %s" % layout_file)
elif layout["name"] == None:
print("Layout doesn't have a name: %s" % layout_id)
else:
yield (layout_id, layout["name"])
# Sort layouts alphabetically, except for layouts in FIRST_LAYOUTS, which are
# placed at the top.
# Returns a list. 'layouts' can be an iterator.
def sort_layouts(layouts):
layouts = dict(layouts)
head = [ (lid, layouts.pop(lid)) for lid in FIRST_LAYOUTS ]
return head + sorted(layouts.items())