Package pology :: Module rules

Module rules

Match messages by rules of arbitrary specificity.

A message-matching rule, represented by Rule object, is a series of pattern matches to be applied to the message, leading to the decision of whether or not the rule as whole matches the message. Patterns can be of different kinds, act on different parts of the message, and be applied in a boolean-like combinations.

See doc/user/lingo.docbook#sec-lgrules for detailed discussion of rules.


Authors:
Sébastien Renard <sebastien.renard@digitalfox.org>, Chusslove Illich (Часлав Илић) <caslav.ilic@gmx.net>

License: GPLv3

Classes
  Rule
Represent a single rule
Functions
 
printStat(rules)
Print rules match statistics
 
loadRules(lang, envs=[], envOnly=False, ruleFiles=None, stat=False)
Load rules for a given language
 
loadRulesFromFile(filePath, stat, envs=set([]), seenMsgFilters={})
Load rule file and return list of Rule objects
Variables
  TIMEOUT = 8
  __package__ = 'pology'
Function Details

printStat(rules)

 

Print rules match statistics

Parameters:
  • rules - list of rule files

loadRules(lang, envs=[], envOnly=False, ruleFiles=None, stat=False)

 

Load rules for a given language

Parameters:
  • lang - lang as a string in two caracter (i.e. fr). If none or empty, try to autodetect language
  • envs - also load rules applicable in these environments
  • envOnly - load only rules applicable in given environments
  • ruleFiles - a list of rule files to load instead of internal
  • stat - stat is a boolean to indicate if rule should gather count and time execution
Returns:
list of rules objects or None if rules cannot be found (with complaints on stdout)

loadRulesFromFile(filePath, stat, envs=set([]), seenMsgFilters={})

 

Load rule file and return list of Rule objects

Parameters:
  • filePath - full path to rule file
  • stat - stat is a boolean to indicate if rule should gather count and time execution
  • envs - environments in which the rules are to be applied
  • seenMsgFilters - dictionary of previously encountered message filter functions, by their signatures; to avoid constructing same filters over different files
Returns:
list of Rule object