|
|
|
@ -118,7 +118,6 @@ EXAMPLES = '''
|
|
|
|
|
'''
|
|
|
|
|
|
|
|
|
|
import sys
|
|
|
|
|
import os
|
|
|
|
|
|
|
|
|
|
from types import NoneType
|
|
|
|
|
|
|
|
|
@ -136,6 +135,12 @@ PROTOCOLS = ['DNS_TCP', 'DNS_UDP', 'FTP', 'HTTP', 'HTTPS', 'IMAPS', 'IMAPv4',
|
|
|
|
|
'TCP_CLIENT_FIRST', 'UDP', 'UDP_STREAM', 'SFTP']
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def node_to_dict(obj):
|
|
|
|
|
node = obj.to_dict()
|
|
|
|
|
node['id'] = obj.id
|
|
|
|
|
return node
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def to_dict(obj):
|
|
|
|
|
instance = {}
|
|
|
|
|
for key in dir(obj):
|
|
|
|
@ -151,7 +156,7 @@ def to_dict(obj):
|
|
|
|
|
elif key == 'nodes':
|
|
|
|
|
instance[key] = []
|
|
|
|
|
for node in value:
|
|
|
|
|
instance[key].append(node.to_dict())
|
|
|
|
|
instance[key].append(node_to_dict(node))
|
|
|
|
|
elif (isinstance(value, NON_CALLABLES) and
|
|
|
|
|
not key.startswith('_')):
|
|
|
|
|
instance[key] = value
|
|
|
|
|