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())

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…