Приветствую. Задача распарсить файл «/usr/share/X11/xkb/rules/base.lst», в котором находится список доступных раскладок клавиатуры, вариантов языка раскладки, моделей клавиатур и т.д. В принципе, получить желаемое удалось, однако при попытке вывести список всех значений из словаря с вариантами, выводятся далеко не все (из 479 выводятся всего 331). Подскажите пожалуйста, где косяк в коде? Может быть есть другой способ парсинга этого файла и разбивки его на списки по раскладкам, вариантом и т.д?
#!/usr/bin/env python3
layouts = {}
options = {}
variants = {}
models = {}
current = None
with open('/usr/share/X11/xkb/rules/base.lst') as f:
    for line in f:
        if len(line) < 2:
            continue
        one, two = line.strip().split(maxsplit=1)
        if one == '!':
            if two == 'layout':
                current = layouts
            elif two == 'option':
                current = options
            elif two == 'variant':
                current = variants
            elif two == 'model':
                current = models
        elif current is not None:
            current[one] = two
for key, values in variants.items():
    print(values)




