3 This file holds decorator functions that can rearrange data returned from data sources. 4 They should be used to decorate the method that holds the script that is being passed to the framework. 6 Note: may also contain a decorator that can wrap a class around a function that contains a script (future development). 9 from __future__
import absolute_import
11 from .data_sources
import json_data_node, json_list, json_dict, json_basic
19 def new_script(self, connection):
21 data = script(self, connection)
23 return json_data_node.make(array_of_dicts)
24 except (KeyError, TypeError)
as e:
25 raise Exception(
"The data you gave wasn't in the correct format: %s" %
str(e))
30 def new_script(self, connection):
32 data = script(self, connection)
33 if(isinstance(data, list)):
34 data = _json_data_node.make(data)
36 except (KeyError, TypeError)
as e:
37 raise Exception(
"The data you gave wasn't in the correct format: %s" %
str(e))
41 def new_script(self, connection):
43 data = script(self, connection)
44 return _to_sql_query(data)
45 except (KeyError, TypeError)
as e:
46 raise Exception(
"The data you gave wasn't in the correct format: %s" %
str(e))
50 def new_script(self, connection):
52 data = script(self, connection)
54 except (KeyError, TypeError)
as e:
55 raise Exception(
"The data you gave wasn't in the correct format: %s" %
str(e))
62 if not(data.__class__.__name__
in [
"json_list",
"json_dict",
"json_basic"]):
63 data = json_data_node.make(data)
64 headers = data.get(
"headers").
data()
65 data_list = data.get(
"data").
data()
66 def unicode_to_str(string):
67 return str(string)
if isinstance(string, unicode)
else string
68 headers =
map(unicode_to_str, headers)
70 row =
map(unicode_to_str, row)
71 return dict(
zip(headers, row))
72 array_of_dicts =
map(row_to_dict, data_list)
73 return json_data_node.make(array_of_dicts)
78 for n
in range(0, len(data.data())):
79 new_data.append(
map(
lambda entry :
str(entry)
if isinstance(entry, unicode)
else entry, data.get(n).
data().
values()))
80 return json_data_node.make({
91 def apply_function_to_key(row):
94 new_data = [apply_function_to_key(data[n])
for n
in range(0, len(data))]
98 if data.__class__.__name__
in [
"json_list",
"json_dict",
"json_basic"]:
100 new_data = [data[n].as_dicts()
for n
in range(0, len(data))]
101 return json_data_node.make(new_data)
104 if data.__class__.__name__
in [
"json_list",
"json_dict",
"json_basic"]:
106 new_data = [
model(data[n])
for n
in range(0, len(data))]
OutputIterator zip(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator result, Compare comp)
char data[epos_bytes_allocation]