__author__ = "frank"
import re
import splunk.admin as admin
import cp_aws_bin.utils.app_util as util
from cgi import escape
logger = util.get_logger()
ARG_VIEWBOX = "viewbox"
ARG_OVERVIEW_WIDTH = "overview_width"
ARG_OVERVIEW_HEIGHT = "overview_height"
ARG_SVGCONTAINER_HTML = "svgcontainer_html"
VPC_ICON = '''
'''
I_RUNNING_ICON = '''
'''
I_STOPPED_ICON = '''
'''
SUBNET_ICON = '''
'''
VOL_ICON = '''
'''
SG_ICON = '''
'''
ENI_ICON = '''
'''
ACL_ICON = '''
'''
RTB_ICON = '''
'''
IGW_ICON = '''
'''
CLOUD_ICON = '''
'''
USER_ICON = '''
'''
GROUP_ICON = '''
'''
POLICY_ICON = '''
'''
ELB_ICON = '''
'''
class TopologyExportHandler(admin.MConfigHandler):
def __init__(self, scriptMode, ctxInfo):
admin.MConfigHandler.__init__(self, scriptMode, ctxInfo)
self.shouldAutoList = False
def setup(self):
for arg in [ARG_VIEWBOX, ARG_OVERVIEW_WIDTH, ARG_OVERVIEW_HEIGHT, ARG_SVGCONTAINER_HTML]:
self.supportedArgs.addOptArg(arg)
def handleCreate(self, confInfo):
svg_container_html = self.callerArgs[ARG_SVGCONTAINER_HTML][0]
overview_width = self.callerArgs[ARG_OVERVIEW_WIDTH][0]
overview_height = self.callerArgs[ARG_OVERVIEW_HEIGHT][0]
viewbox = self.callerArgs[ARG_VIEWBOX][0]
index = svg_container_html.find("")
if index == -1:
index_1 = svg_container_html.find("" + defs + "" + svg_container_html[index:len(svg_container_html) - 14] + ""
start_index = svg.find("", start_index)
image_svg = svg[start_index:end_index + 8]
type_res = image_type_pattern.search(image_svg)
x_res = image_x_pattern.search(image_svg)
y_res = image_y_pattern.search(image_svg)
if type_res and x_res and y_res:
target_svg += ''
start_index = end_index + 8
else:
target_svg += svg[start_index]
start_index += 1
confInfo["export_topology"].append("svg", target_svg)
return
admin.init(TopologyExportHandler, admin.CONTEXT_APP_ONLY)