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: """