In [1]:
import os
import json
from pprint import pprint

In [2]:
with open('dictionary.json') as f:
    chunks = json.load(f)
with open('undone.json') as f:
    undone = json.load(f)

In [4]:
len(undone)


Out[4]:
427

In [28]:
# tw = []
for i in undone:
#     print(len(set(chunks[i]['stem'])))
    if len(chunks[i]['stem']) < 4:
        pprint(chunks[i])
#     if len(''.join(chunks[i]['stem']).split('//'))==5:
#         tw.append(i)


{'lex': 'кыргэп',
 'paradigms': ['N-obl', 'N-nom-0', 'N-pl'],
 'stem': ['кыргэп', '', 'кыргэпыт//кыргыпчекыт'],
 'trans_ru': '(2) летний сапог (торбаз) из короткошёрстных шкур'}
{'lex': 'рынгыпченаӈ',
 'paradigms': [],
 'stem': ['рынгыпченаӈ', '', 'рынгыпченаӈат'],
 'trans_ru': 'зубочистка'}
{'lex': 'рынныԓгын',
 'paradigms': ['N-obl', 'N-nom-lgyn', 'N-pl'],
 'stem': ['рынны', '', 'рынныт'],
 'trans_ru': '1) зуб; 2) рог'}
{'lex': 'рынным',
 'paradigms': ['N-obl', 'N-nom-0', 'N-pl'],
 'stem': ['рынным', '', 'рыннымыт'],
 'trans_ru': 'десна'}
{'lex': 'рыннымай',
 'paradigms': ['N-obl', 'N-nom-0', 'N-pl'],
 'stem': ['рыннымай', '', 'рыннымагтэ'],
 'trans_ru': 'куча рогов в тундре'}
{'lex': 'рыновыргын',
 'paradigms': ['N-obl', 'N-nom-n', 'N-pl'],
 'stem': ['рыновырг.//.рыногырг', '', 'рыновыргыт'],
 'trans_ru': '* дымовое отверстие'}

In [11]:
len(tw)


Out[11]:
4

In [12]:
for i in tw:
    pprint(chunks[i])


{'lex': 'айватлён',
 'paradigms': ['N-obl', 'N-nom-n', 'N-pl'],
 'stem': ['айватлён//айватрон',
          'айватлён//айватрон',
          'айватлён//айватрон',
          'айватлён//айватрон'],
 'trans_ru': 'левая от входа сторона полога'}
{'lex': 'алкылгыргын',
 'paradigms': ['N-obl', 'N-nom-n', 'N-pl'],
 'stem': ['алкылгыргын//алкыльёлгын',
          'алкылгыргын//алкыльёлгын',
          'алкылгыргын//алкыльёлгын',
          'алкылгыргын//алкыльёлгын'],
 'trans_ru': 'узнавание'}
{'lex': 'аройвычьат',
 'paradigms': ['N-obl', 'N-nom-0', 'N-pl'],
 'stem': ['аройвычьат.//.аройвычьатгырг',
          'аройвычьат.//.аройвычьатгырг',
          'аройвычьат.//.аройвычьатгырг',
          'аройвычьат.//.аройвычьатгырг'],
 'trans_ru': '1) здоровье; 2) мужество'}
{'lex': 'аттывэгыргын',
 'paradigms': ['N-obl', 'N-nom-n', 'N-pl'],
 'stem': ['аттывэгырг.//.артывэгырг',
          'аттывэгырг.//.артывэгырг',
          'аттывэгырг.//.артывэгырг',
          'аттывэгырг.//.артывэгырг'],
 'trans_ru': '1) узкое место реки, озера; 2) стремнина реки'}

In [3]:
for i in range(len(chunks)):
    for key in ['lex', 'paradigms', 'stem']:
        if chunks[i][key].__class__ == ''.__class__:
            chunks[i][key] = chunks[i][key].replace('ң', 'ӈ').replace('қ', 'ӄ').replace('л', 'ԓ').replace("'", 'ʼ')
        else:
            chunks[i][key] = list(map(lambda x: x.replace('ң', 'ӈ').replace('қ', 'ӄ').replace('л', 'ԓ').replace("'", 'ʼ'), chunks[i][key]))

In [6]:
with open('../lexicons/nominalu.lexc', 'a') as f:
    f.write('\n\n\n')
    for i in undone:
        if len(chunks[i]['stem']) == 4:
            if len(set(chunks[i]['stem'])) == 1:
                pass
    #             for st in list(map(lambda x: x.strip('.'), chunks[i]['stem'][0].split('//'))):
    #                 f.write('{}:{} N-I-AATGYR       ! {}\n'.format(chunks[i]['lex'], st, chunks[i]['trans_ru']))
            else:
                f.write('{}:{} N-I-AATGYR ;       ! {}\n'.format(chunks[i]['lex'], chunks[i]['stem'][2], chunks[i]['trans_ru']))
                for st in set(chunks[i]['stem'][:2]+[chunks[i]['stem'][3]]):
                    f.write('{}:{} N-OBL ;       ! {}\n'.format(chunks[i]['lex'], st, chunks[i]['trans_ru']))
        else:
            for st in chunks[i]['stem']:
                f.write('{}:{} N-I-AATGYR ;       ! {}\n'.format(chunks[i]['lex'], st, chunks[i]['trans_ru']))
        f.write('!\n')

In [10]:
s = 'dh'
list(map(lambda x: x.replace('d', 'v'), s))


Out[10]:
['v', 'h']

In [15]:
list(chunks[i].keys())


Out[15]:
['lex', 'paradigms', 'trans_ru', 'stem']

In [16]:
s.__class__


Out[16]:
str

In [ ]: