то есть из этого:
[ {'device': 'android', 'type': 'xml', 'ip': '198.0.0.1', 'file': 'path_to_file', 'date': '12.02.2015'}, {'device': 'android', 'type': 'xml', 'ip': '198.0.0.2', 'file': 'path_to_file', 'date': '12.02.2015'}, {'device': 'android', 'type': 'zip', 'ip': '198.0.0.3', 'file': 'path_to_file', 'date': '12.02.2015'}, {'device': 'osx', 'type': 'zip', 'ip': '198.0.2.1', 'file': 'path_to_file', 'date': '12.02.2015'}, {'device': 'osx', 'type': 'xml', 'ip': '198.0.2.1', 'file': 'path_to_file', 'date': '12.02.2015'}, {'device': 'osx', 'type': 'xml', 'ip': '198.0.2.1', 'file': 'path_to_file', 'date': '12.02.2015'}, {'device': 'pc', 'type': 'zip', 'ip': '198.0.3.1', 'file': 'path_to_file', 'date': '12.02.2015'}, {'device': 'pc', 'type': 'zip', 'ip': '198.0.3.1', 'file': 'path_to_file', 'date': '12.02.2015'}, {'device': 'pc', 'type': 'xml', 'ip': '198.0.3.1', 'file': 'path_to_file', 'date': '12.02.2015'}, ]
[ { 'device': 'android', 'data': [ { 'type': 'zip', 'data': [ { 'ip': '198.0.0.1', 'data': [ {'file': 'path_to_file1', 'date': '01.02.2015'}, {'file': 'path_to_file2', 'date': '02.02.2015'}, ] }, { 'ip': '198.0.0.2', 'data': [ {'file': 'path_to_file1', 'date': '01.02.2015'}, {'file': 'path_to_file2', 'date': '02.02.2015'}, ] }, { 'ip': '198.0.0.3', 'data': [ {'file': 'path_to_file1', 'date': '01.02.2015'}, {'file': 'path_to_file2', 'date': '02.02.2015'}, ] } ] }, { 'type': 'xml', 'data': [ { 'ip': '198.0.0.1', 'data': [ {'file': 'path_to_file1', 'date': '01.02.2015'}, {'file': 'path_to_file2', 'date': '02.02.2015'}, ] }, { 'ip': '198.0.0.2', 'data': [ {'file': 'path_to_file1', 'date': '01.02.2015'}, {'file': 'path_to_file2', 'date': '02.02.2015'}, ] }, { 'ip': '198.0.0.3', 'data': [ {'file': 'path_to_file1', 'date': '01.02.2015'}, {'file': 'path_to_file2', 'date': '02.02.2015'}, ] } ] } ] }, { 'device': 'osx', 'data': [ { 'type': 'zip', 'data': [ { 'ip': '198.0.0.1', 'data': [ {'file': 'path_to_file1', 'date': '01.02.2015'}, {'file': 'path_to_file2', 'date': '02.02.2015'}, ] }, { 'ip': '198.0.0.2', 'data': [ {'file': 'path_to_file1', 'date': '01.02.2015'}, {'file': 'path_to_file2', 'date': '02.02.2015'}, ] }, { 'ip': '198.0.0.3', 'data': [ {'file': 'path_to_file1', 'date': '01.02.2015'}, {'file': 'path_to_file2', 'date': '02.02.2015'}, ] } ] }, { 'type': 'xml', 'data': [ { 'ip': '198.0.0.1', 'data': [ {'file': 'path_to_file1', 'date': '01.02.2015'}, {'file': 'path_to_file2', 'date': '02.02.2015'}, ] }, { 'ip': '198.0.0.2', 'data': [ {'file': 'path_to_file1', 'date': '01.02.2015'}, {'file': 'path_to_file2', 'date': '02.02.2015'}, ] }, { 'ip': '198.0.0.3', 'data': [ {'file': 'path_to_file1', 'date': '01.02.2015'}, {'file': 'path_to_file2', 'date': '02.02.2015'}, ] } ] } ] } ]