in aristotle/aristotle.py [0:0]
def set_metadata_filter(self, metadata_filter):
"""Sets the metadata filter to use.
:param metadata_filter: A string or a filename of a file that defines the
desired outcome based on
Boolean logic, and uses the metadata key-value pairs as values in the
Boolean algebra.
:type metadata_filter: string, required
:raises: `AristotleException`
"""
try:
if os.path.isfile(metadata_filter):
print_debug("Loading metadata_filter file '{}'.".format(metadata_filter))
self.metadata_filter = ""
with open(metadata_filter, 'r') as fh:
for line in fh:
# check for "<enable-all-rules>" directive that enables all rules
if line.lstrip().lower().startswith("<enable-all-rules>"):
print_debug("Enabling all rules.")
self.enable_all_rules = True
line = line[len("<enable-all-rules>"):].lstrip()
# strip out comments and ignore blank lines
if line.strip().startswith('#') or len(line.strip()) == 0:
continue
self.metadata_filter += line
else:
self.metadata_filter = metadata_filter
except Exception as e:
print_error("Unable to process metadata_filter '{}':\n{}".format(metadata_filter, e), fatal=True)