def require_documents(entries: Entries, options_map, config_string=""):
- print(options_map)
errors = []
+ require_transactions = True
+ require_balances = True
+ if 'require_documents' in options_map:
+ types = options_map['require_documents'].lower().split(",")
+ require_transactions = "transaction" in types or "transactions" in types
+ require_balances = "balance" in types or "balances" in types
for i, entry in enumerate(entries):
- if type(entry) is Transaction or type(entry) is Balance:
+ if (type(entry) is Transaction and require_transactions) \
+ or (type(entry) is Balance and require_balances):
if not 'document' in entry.meta and not 'no-document' in entry.meta:
if type(entry) is Transaction:
entries[i] = flag(entry)
- errors.append(make_error(entry, "Missing document."))
+ errors.append(make_error(entry, "{} missing document.".format(type(entry).__name__)))
return entries, errors