import json import base64 import csv misperrors = {'error': 'Error'} userConfig = { 'number1': { 'type': 'Integer', 'regex': '/^[0-4]$/i', 'errorMessage': 'Expected a number in range [0-4]', 'message': 'Column number used for value' }, 'some_string': { 'type': 'String', 'message': 'A text field' }, 'boolean_field': { 'type': 'Boolean', 'message': 'Boolean field test' }, 'comment': { 'type': 'Integer', 'message': 'Column number used for comment' } }; inputSource = ['file', 'paste'] moduleinfo = {'version': '0.2', 'author': 'Andras Iklody', 'description': 'Simple CSV import tool with mapable columns', 'module-type': ['import']} moduleconfig = [] def handler(q=False): if q is False: return False r = {'results': []} request = json.loads(q) request["data"] = base64.b64decode(request["data"]) fields = ["value", "category", "type", "comment"] r = {"results":[{"values":["192.168.56.1"], "types":["ip-src"], "categories":["Network activity"]}]} return r def introspection(): modulesetup = {} try: userConfig modulesetup['userConfig'] = userConfig except NameError: pass try: inputSource modulesetup['inputSource'] = inputSource except NameError: pass return modulesetup def version(): moduleinfo['config'] = moduleconfig return moduleinfo