'Add Cookie objects by their names, or create new ones under
specified names.
Any unnamed arguments are interpreted as existing cookies, and
are added under the value in their .name attribute. With keyword
arguments, the key is interpreted as the cookie name and the
value as the UNENCODED value stored in the cookie.'

def add(self, *args, **kwargs):

    for cookie in args:
        self.all_cookies.append(cookie)
        if (cookie.name in self):
            continue
        self[cookie.name] = cookie
    for (key, value) in kwargs.items():
        cookie = Cookie(key, value)
        self.all_cookies.append(cookie)
        if (key in self):
            continue
        self[key] = cookie
