Esempio n. 1
0
    def pushButton_clicked(self):
        text = str(self.textEdit.toPlainText())
        text = text.replace('true', 'True')
        text = text.replace('false', 'False')
        text = text.replace('null', 'None')

        data_structure = string_to_dict(text)
        if not data_structure:
            self.resultLineEdit.setText('Incorrect data structure')
            return

        key = str(self.finder.text())
        if not key:
            self.resultLineEdit.setText('Incorrect key structure')
            return

        key_path = find_key(data_structure, key)
        if not key_path:
            self.resultLineEdit.setText('Key not found')
            return

        self.resultLineEdit.setText(key_path)
Esempio n. 2
0
 def test_no_key_in_dict(self):
     data_structure = {'k': 'v'}
     k = 'a'
     self.assertEqual(None, find_key(data_structure, k))
Esempio n. 3
0
 def test_key_in_list_nested_dict(self):
     data_structure = {'K': [{'k1': 'v'}, {'k': 'v1'}, {'k2': 'v1'}]}
     k = 'k'
     self.assertEqual("['K'][1]['k']", find_key(data_structure, k))
Esempio n. 4
0
 def test_key_in_nested_dict(self):
     data_structure = {'K': {'k': 'v'}}
     k = 'k'
     self.assertEqual("['K']['k']", find_key(data_structure, k))
Esempio n. 5
0
 def test_key_in_tuple(self):
     data_structure = ({'k1': 'v'}, {'k': 'v1'}, {'k2': 'v1'})
     k = 'k'
     self.assertEqual("[1]['k']", find_key(data_structure, k))
Esempio n. 6
0
 def test_key_in_list(self):
     data_structure = [{'k1': 'v'}, {'k1': 'v1'}, {'k': 'v1'}]
     k = 'k'
     self.assertEqual("[2]['k']", find_key(data_structure, k))