def __delitem__(self, key):
        if not isinstance(key, list):
            key = key.split('.') if isinstance(key, basestring) else [key]
        key, path = key.pop(0), key
        if len(path) > 0:
            self.get(key).__delitem__(path)  # Pass the delete down
        else:
            if key not in self:
                pass  # This should handle itself
            else:
                dict.__delitem__(self, key)
dataset/ETHPy150Open facebook/pyaib/pyaib/util/data.py/Object.__delitem__/original