API

Filter Object

class content_filter.Filter(list_file: Optional[str] = None, word_list: Optional[List[str]] = None)[source]

The filter object which contains the filter settings, data, and functions.

Parameters
  • list_file (str, optional) – The path to a file that will be used as the filter list in place of the default filter

  • word_list (str, optional) – A list of words to be used as the filter in place of the default filter

Raises
  • TypeError – Something other than a list was not passed in for word_list.

  • FileNotFoundError – The input file for list_file does not exist.

  • ValueError – The custom file input is not a JSON file.

add_exceptions(words: List[str]) None[source]

Allows the user to remove words to the list of pre-defined words to filter for.

Parameters

words (list) – A list of strings that will be removed from the default filter checking.

Raises

TypeError – Words input are not a list of strings.

add_words(words: List[str]) None[source]

Allows the user to add words to the list of pre-defined words to filter for.

Parameters

words (list) – A list of strings that will be added to the default filter checking.

Raises

TypeError – Words input are not a list of strings.

check(message: str) content_filter.check.Check[source]

Checks the provided message for any words that should be filtered.

Parameters

message (str) – The message to be filtered. This should be a string.

Raises

TypeError – Message is not a string

Returns

A check object which contains the results of the filter.

Return type

Check

property list_file: pathlib.Path

Gives you the path to the list file if using a custom filter file.

Raises

RuntimeError – Not using a custom JSON file.

Returns

A path object to the custom json file.

Return type

pathlib.Path

reload_file() None[source]

Updates the filter list when using a custom JSON file. If any changes have been made to the file, they will be applied.

Raises

RuntimeError – Not using a custom JSON file.

Check Object

class content_filter.check.Check(message: str, exception_list: List[str], additional_list: List[str], custom_list: List[str], use_default_list: bool, use_custom_file: Dict[str, Any], translation_table: Dict[str, Any], filter_file: Path)[source]

Check object which checks a message and can return the results as either a list or a bool.

property as_bool: bool

Outputs the check results as a bool.

Returns

True if the message contains a filter word, False if it doesn’t.

Return type

bool

property as_list: List[Dict[str, Any]]

Outputs the check results as a list.

Returns

List of all the words found in the message. A blank list is returned if no words are found.

Return type

list