From 7aa612ef0204318f1e202bf391b5de9d70866c9b Mon Sep 17 00:00:00 2001 From: Shawn Brown Date: Wed, 28 Nov 2018 01:50:31 -0500 Subject: [PATCH] Remove call to data.items() from the validate() function--this is redundant because the helper functions already do this. --- datatest/validation.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/datatest/validation.py b/datatest/validation.py index 3b0b3ca..8f9dc88 100644 --- a/datatest/validation.py +++ b/datatest/validation.py @@ -383,20 +383,18 @@ def iseven(x): # <- Predicate function __tracebackhide__ = lambda excinfo: excinfo.errisinstance(ValidationError) data = _normalize_data(data) - if isinstance(data, Mapping): - data = getattr(data, 'iteritems', data.items)() requirement = _normalize_requirement(requirement) if isinstance(requirement, Mapping): result = _datadict_vs_requirementdict(data, requirement) - elif _is_collection_of_items(data): + elif isinstance(data, Mapping) or _is_collection_of_items(data): result = _datadict_vs_requirement(data, requirement) else: result = _data_vs_requirement(data, requirement) if result: differences, description = result - if isinstance(differences, dict): + if isinstance(differences, Mapping): for k, v in differences.items(): if isinstance(v, Iterator): differences[k] = list(v)