From aa6ef69bb62861ef14c515dc49e9adc9dec1822f Mon Sep 17 00:00:00 2001 From: Marc Date: Wed, 16 Sep 2020 16:45:50 +0200 Subject: [PATCH] add missing methods to DateData and inherit from MutableMapping --- dateparser/date.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/dateparser/date.py b/dateparser/date.py index cd37bc530..0f4d72898 100644 --- a/dateparser/date.py +++ b/dateparser/date.py @@ -1,4 +1,5 @@ import collections +from collections import MutableMapping from collections.abc import Set from datetime import datetime, timedelta @@ -252,7 +253,7 @@ def _is_valid_date_obj(self, date_obj): return True -class DateData: +class DateData(MutableMapping): """ Class that represents the parsed data with useful information. It can be accessed like a dict object. @@ -282,9 +283,23 @@ def __contains__(self, item): return True return False + def __len__(self): + return len(self.keys()) + + def __iter__(self): + yield from self.__dict__.keys() + + def __delitem__(self, v): + if not hasattr(self, v): + raise KeyError(v) + setattr(self, v, None) + def keys(self): return self.__dict__.keys() + def values(self): + return self.__dict__.values() + class DateDataParser: """