intelmq.bots.parsers.hibp package


intelmq.bots.parsers.hibp.parser_callback module

There are two different Formats: Breaches and Pastes For Breaches, there are again two different Variants:

  • Callback Test: has field ‘Email’, Breach is a list of dictionaries

  • Real: has NO field ‘Email’, Breach is a dictionary


alias of intelmq.bots.parsers.hibp.parser_callback.HIBPCallbackParserBot

class intelmq.bots.parsers.hibp.parser_callback.HIBPCallbackParserBot(bot_id: str, start: bool = False, sighup_event=None, disable_multithreading: Optional[bool] = None)


Parse reports of the ‘Have I Been Pwned’ Callback for Enterprise Subscribers


A generator yielding the single elements of the data.

Comments, headers etc. can be processed here. Data needed by self.parse_line can be saved in self.tempdata (list).

Default parser yields stripped lines. Override for your use or use an existing parser, e.g.:

parse = ParserBot.parse_csv
You should do that for recovering lines too.

recover_line = ParserBot.recover_line_csv

parse_line(request, report)

A generator which can yield one or more messages contained in line.

Report has the full message, thus you can access some metadata. Override for your use.


Reverse of “parse” for single lines.

Recovers a fully functional report with only the problematic line by concatenating all strings in “self.tempdata” with “line” with LF newlines. Works fine for most text files.

lineOptional[str], optional

The currently process line which should be transferred into it’s original appearance. As fallback, “self._current_line” is used if available (depending on self.parse). The default is None.


If neither the parameter “line” nor the member “self._current_line” is available.


The reconstructed raw data.

Module contents