parsedmarc/splunk.py
def save_forensic_reports_to_splunk(self, forensic_reports):
        """
        Saves forensic DMARC reports to Splunk

        Args:
            forensic_reports (list):  A list of forensic report dictionaries
            to save in Splunk
        """
        logger.debug("Saving forensic reports to Splunk")
        if type(forensic_reports) == dict:
            forensic_reports = [forensic_reports]

        if len(forensic_reports) < 1:
            return

        json_str = ""
        for report in forensic_reports:
            data = self._common_data.copy()
            data["sourcetype"] = "dmarc:forensic"
            timestamp = human_timestamp_to_timestamp(
                report["arrival_date_utc"])
            data["time"] = timestamp
            data["event"] = report.copy()
            json_str += "{0}\n".format(json.dumps(data))

        if not self.session.verify:
            logger.debug("Skipping certificate verification for Splunk HEC")
        try:
            response = self.session.post(self.url, data=json_str,
                                         timeout=self.timeout)
            response = response.json()
        except Exception as e:
            raise SplunkError(e.__str__())
        if response["code"] != 0:
            raise SplunkError(response["text"])
def save_forensic_reports_to_splunk(self, forensic_reports):
        logger.debug("Saving forensic reports to Splunk")
        if type(forensic_reports) == dict:
            forensic_reports = [forensic_reports]

        if len(forensic_reports) < 1:
            return

        json_str = ""
        for report in forensic_reports:
            data = self._common_data.copy()
            data["sourcetype"] = "dmarc:forensic"
            timestamp = human_timestamp_to_timestamp(
                report["arrival_date_utc"])
            data["time"] = timestamp
            data["event"] = report.copy()
            json_str += "{0}\n".format(json.dumps(data))

        if not self.session.verify:
            logger.debug("Skipping certificate verification for Splunk HEC")
        try:
            response = self.session.post(self.url, data=json_str,
                                         timeout=self.timeout)
            response = response.json()
        except Exception as e:
            raise SplunkError(e.__str__())
        if response["code"] != 0:
            raise SplunkError(response["text"])
def save_forensic_reports_to_splunk ( self , forensic_reports ) : logger . debug ( "Saving forensic reports to Splunk" ) if type ( forensic_reports ) == dict : forensic_reports = [ forensic_reports ] if len ( forensic_reports ) < 1 : return json_str = "" for report in forensic_reports : data = self . _common_data . copy ( ) data [ "sourcetype" ] = "dmarc:forensic" timestamp = human_timestamp_to_timestamp ( report [ "arrival_date_utc" ] ) data [ "time" ] = timestamp data [ "event" ] = report . copy ( ) json_str += "{0}\n" . format ( json . dumps ( data ) ) if not self . session . verify : logger . debug ( "Skipping certificate verification for Splunk HEC" ) try : response = self . session . post ( self . url , data = json_str , timeout = self . timeout ) response = response . json ( ) except Exception as e : raise SplunkError ( e . __str__ ( ) ) if response [ "code" ] != 0 : raise SplunkError ( response [ "text" ] )
Saves forensic DMARC reports to Splunk

        Args:
            forensic_reports (list):  A list of forensic report dictionaries
            to save in Splunk
Saves forensic DMARC reports to Splunk