Skip to content

Commit 808be08

Browse files
committed
Add deserialize_op (xml/lxml)
1 parent 8e49cde commit 808be08

3 files changed

Lines changed: 18 additions & 1 deletion

File tree

aikido_zen/sources/xml_sources/lxml.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,24 @@
22
extract_data_from_xml_body,
33
)
44
from aikido_zen.helpers.get_argument import get_argument
5+
from aikido_zen.helpers.register_call import register_call
56
from aikido_zen.sinks import on_import, after, patch_function
67

78

89
@after
910
def _fromstring(func, instance, args, kwargs, return_value):
1011
text = get_argument(args, kwargs, 0, "text")
12+
register_call("lxml.etree.fromstring", "deserialize_op")
13+
1114
if text:
1215
extract_data_from_xml_body(user_input=text, root_element=return_value)
1316

1417

1518
@after
1619
def _fromstringlist(func, instance, args, kwargs, return_value):
1720
strings = get_argument(args, kwargs, 0, "strings")
21+
register_call("lxml.etree.fromstringlist", "deserialize_op")
22+
1823
for text in strings:
1924
extract_data_from_xml_body(user_input=text, root_element=return_value)
2025

aikido_zen/sources/xml_sources/xml.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,23 @@
22
extract_data_from_xml_body,
33
)
44
from aikido_zen.helpers.get_argument import get_argument
5+
from aikido_zen.helpers.register_call import register_call
56
from aikido_zen.sinks import on_import, patch_function, after
67

78

89
@after
910
def _fromstring(func, instance, args, kwargs, return_value):
1011
text = get_argument(args, kwargs, 0, "text")
12+
register_call("xml.etree.ElementTree.fromstring", "deserialize_op")
13+
1114
extract_data_from_xml_body(user_input=text, root_element=return_value)
1215

1316

1417
@after
1518
def _fromstringlist(func, instance, args, kwargs, return_value):
1619
strings = get_argument(args, kwargs, 0, "sequence")
20+
register_call("xml.etree.ElementTree.fromstringlist", "deserialize_op")
21+
1722
for text in strings:
1823
extract_data_from_xml_body(user_input=text, root_element=return_value)
1924

aikido_zen/storage/statistics/operations.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,11 @@
1-
SUPPORTED_KINDS = ["sql_op", "nosql_op", "outgoing_http_op", "fs_op", "exec_op"]
1+
SUPPORTED_KINDS = [
2+
"sql_op",
3+
"nosql_op",
4+
"outgoing_http_op",
5+
"fs_op",
6+
"exec_op",
7+
"deserialize_op",
8+
]
29

310

411
class Operations(dict):

0 commit comments

Comments
 (0)