'Clear some cookies.
Invoking this method without arguments will clear all cookies.  If
given a single argument, only cookies belonging to that domain will be
removed.  If given two arguments, cookies belonging to the specified
path within that domain are removed.  If given three arguments, then
the cookie with the specified name, path and domain is removed.
Raises KeyError if no matching cookie exists.'

def clear(self, domain=None, path=None, name=None):

    if (name is not None):
        if ((domain is None) or (path is None)):
            raise ValueError('domain    and    path    must    be    given    to    remove    a    cookie    by    name')
        del self._cookies[domain][path][name]
    elif (path is not None):
        if (domain is None):
            raise ValueError('domain    must    be    given    to    remove    cookies    by    path')
        del self._cookies[domain][path]
    elif (domain is not None):
        del self._cookies[domain]
    else:
        self._cookies = {}
