Lines Matching refs:self
761 def __init__(self, version, name, value,
779 self.version = version
780 self.name = name
781 self.value = value
782 self.port = port
783 self.port_specified = port_specified
785 self.domain = domain.lower()
786 self.domain_specified = domain_specified
791 self.domain_initial_dot = domain_initial_dot
792 self.path = path
793 self.path_specified = path_specified
794 self.secure = secure
795 self.expires = expires
796 self.discard = discard
797 self.comment = comment
798 self.comment_url = comment_url
799 self.rfc2109 = rfc2109
801 self._rest = copy.copy(rest)
803 def has_nonstandard_attr(self, name):
804 return name in self._rest
805 def get_nonstandard_attr(self, name, default=None):
806 return self._rest.get(name, default)
807 def set_nonstandard_attr(self, name, value):
808 self._rest[name] = value
810 def is_expired(self, now=None):
812 if (self.expires is not None) and (self.expires <= now):
816 def __str__(self):
817 if self.port is None: p = ""
818 else: p = ":"+self.port
819 limit = self.domain + p + self.path
820 if self.value is not None:
821 namevalue = "%s=%s" % (self.name, self.value)
823 namevalue = self.name
826 def __repr__(self):
834 attr = getattr(self, name)
836 args.append("rest=%s" % repr(self._rest))
837 args.append("rfc2109=%s" % repr(self.rfc2109))
838 return "%s(%s)" % (self.__class__.__name__, ", ".join(args))
850 def set_ok(self, cookie, request):
859 def return_ok(self, cookie, request):
863 def domain_return_ok(self, domain, request):
868 def path_return_ok(self, path, request):
884 def __init__(self,
898 self.netscape = netscape
899 self.rfc2965 = rfc2965
900 self.rfc2109_as_netscape = rfc2109_as_netscape
901 self.hide_cookie2 = hide_cookie2
902 self.strict_domain = strict_domain
903 self.strict_rfc2965_unverifiable = strict_rfc2965_unverifiable
904 self.strict_ns_unverifiable = strict_ns_unverifiable
905 self.strict_ns_domain = strict_ns_domain
906 self.strict_ns_set_initial_dollar = strict_ns_set_initial_dollar
907 self.strict_ns_set_path = strict_ns_set_path
908 self.secure_protocols = secure_protocols
911 self._blocked_domains = tuple(blocked_domains)
913 self._blocked_domains = ()
917 self._allowed_domains = allowed_domains
919 def blocked_domains(self):
921 return self._blocked_domains
922 def set_blocked_domains(self, blocked_domains):
924 self._blocked_domains = tuple(blocked_domains)
926 def is_blocked(self, domain):
927 for blocked_domain in self._blocked_domains:
932 def allowed_domains(self):
934 return self._allowed_domains
935 def set_allowed_domains(self, allowed_domains):
939 self._allowed_domains = allowed_domains
941 def is_not_allowed(self, domain):
942 if self._allowed_domains is None:
944 for allowed_domain in self._allowed_domains:
949 def set_ok(self, cookie, request):
962 fn = getattr(self, fn_name)
968 def set_ok_version(self, cookie, request):
975 if cookie.version > 0 and not self.rfc2965:
978 elif cookie.version == 0 and not self.netscape:
983 def set_ok_verifiability(self, cookie, request):
985 if cookie.version > 0 and self.strict_rfc2965_unverifiable:
989 elif cookie.version == 0 and self.strict_ns_unverifiable:
995 def set_ok_name(self, cookie, request):
998 if (cookie.version == 0 and self.strict_ns_set_initial_dollar and
1004 def set_ok_path(self, cookie, request):
1008 (cookie.version == 0 and self.strict_ns_set_path)) and
1009 not self.path_return_ok(cookie.path, request)):
1015 def set_ok_domain(self, cookie, request):
1016 if self.is_blocked(cookie.domain):
1019 if self.is_not_allowed(cookie.domain):
1025 if self.strict_domain and (domain.count(".") >= 2):
1060 (self.strict_ns_domain & self.DomainRFC2965Match)):
1066 (self.strict_ns_domain & self.DomainStrictNoDots)):
1075 def set_ok_port(self, cookie, request):
1096 def return_ok(self, cookie, request):
1109 fn = getattr(self, fn_name)
1114 def return_ok_version(self, cookie, request):
1115 if cookie.version > 0 and not self.rfc2965:
1118 elif cookie.version == 0 and not self.netscape:
1123 def return_ok_verifiability(self, cookie, request):
1125 if cookie.version > 0 and self.strict_rfc2965_unverifiable:
1129 elif cookie.version == 0 and self.strict_ns_unverifiable:
1135 def return_ok_secure(self, cookie, request):
1136 if cookie.secure and request.type not in self.secure_protocols:
1141 def return_ok_expires(self, cookie, request):
1142 if cookie.is_expired(self._now):
1147 def return_ok_port(self, cookie, request):
1161 def return_ok_domain(self, cookie, request):
1172 (self.strict_ns_domain & self.DomainStrictNonDomain) and
1188 def domain_return_ok(self, domain, request):
1205 if self.is_blocked(domain):
1208 if self.is_not_allowed(domain):
1214 def path_return_ok(self, path, request):
1261 def __init__(self, policy=None):
1264 self._policy = policy
1266 self._cookies_lock = _threading.RLock()
1267 self._cookies = {}
1269 def set_policy(self, policy):
1270 self._policy = policy
1272 def _cookies_for_domain(self, domain, request):
1274 if not self._policy.domain_return_ok(domain, request):
1277 cookies_by_path = self._cookies[domain]
1279 if not self._policy.path_return_ok(path, request):
1283 if not self._policy.return_ok(cookie, request):
1290 def _cookies_for_request(self, request):
1293 for domain in self._cookies.keys():
1294 cookies.extend(self._cookies_for_domain(domain, request))
1297 def _cookie_attrs(self, cookies):
1329 self.non_word_re.search(cookie.value) and version > 0):
1330 value = self.quote_re.sub(r"\\\1", cookie.value)
1356 def add_cookie_header(self, request):
1363 self._cookies_lock.acquire()
1366 self._policy._now = self._now = int(time.time())
1368 cookies = self._cookies_for_request(request)
1370 attrs = self._cookie_attrs(cookies)
1377 if (self._policy.rfc2965 and not self._policy.hide_cookie2 and
1385 self._cookies_lock.release()
1387 self.clear_expired_cookies()
1389 def _normalized_cookie_tuples(self, attrs_set):
1468 v = self._now + v
1486 def _cookie_from_cookie_tuple(self, tup, request):
1555 elif expires <= self._now:
1559 self.clear(domain, path, name)
1578 def _cookies_from_attrs_set(self, attrs_set, request):
1579 cookie_tuples = self._normalized_cookie_tuples(attrs_set)
1583 cookie = self._cookie_from_cookie_tuple(tup, request)
1587 def _process_rfc2109_cookies(self, cookies):
1588 rfc2109_as_ns = getattr(self._policy, 'rfc2109_as_netscape', None)
1590 rfc2109_as_ns = not self._policy.rfc2965
1599 def make_cookies(self, response, request):
1605 self._policy._now = self._now = int(time.time())
1607 rfc2965 = self._policy.rfc2965
1608 netscape = self._policy.netscape
1617 cookies = self._cookies_from_attrs_set(
1626 ns_cookies = self._cookies_from_attrs_set(
1631 self._process_rfc2109_cookies(ns_cookies)
1654 def set_cookie_if_ok(self, cookie, request):
1656 self._cookies_lock.acquire()
1658 self._policy._now = self._now = int(time.time())
1660 if self._policy.set_ok(cookie, request):
1661 self.set_cookie(cookie)
1665 self._cookies_lock.release()
1667 def set_cookie(self, cookie):
1669 c = self._cookies
1670 self._cookies_lock.acquire()
1678 self._cookies_lock.release()
1680 def extract_cookies(self, response, request):
1683 self._cookies_lock.acquire()
1685 for cookie in self.make_cookies(response, request):
1686 if self._policy.set_ok(cookie, request):
1688 self.set_cookie(cookie)
1690 self._cookies_lock.release()
1692 def clear(self, domain=None, path=None, name=None):
1708 del self._cookies[domain][path][name]
1713 del self._cookies[domain][path]
1715 del self._cookies[domain]
1717 self._cookies = {}
1719 def clear_session_cookies(self):
1726 self._cookies_lock.acquire()
1728 for cookie in self:
1730 self.clear(cookie.domain, cookie.path, cookie.name)
1732 self._cookies_lock.release()
1734 def clear_expired_cookies(self):
1744 self._cookies_lock.acquire()
1747 for cookie in self:
1749 self.clear(cookie.domain, cookie.path, cookie.name)
1751 self._cookies_lock.release()
1753 def __iter__(self):
1754 return deepvalues(self._cookies)
1756 def __len__(self):
1759 for cookie in self: i = i + 1
1762 def __repr__(self):
1764 for cookie in self: r.append(repr(cookie))
1765 return "<%s[%s]>" % (self.__class__.__name__, ", ".join(r))
1767 def __str__(self):
1769 for cookie in self: r.append(str(cookie))
1770 return "<%s[%s]>" % (self.__class__.__name__, ", ".join(r))
1779 def __init__(self, filename=None, delayload=False, policy=None):
1785 CookieJar.__init__(self, policy)
1788 self.filename = filename
1789 self.delayload = bool(delayload)
1791 def save(self, filename=None, ignore_discard=False, ignore_expires=False):
1795 def load(self, filename=None, ignore_discard=False, ignore_expires=False):
1798 if self.filename is not None: filename = self.filename
1802 self._really_load(f, filename, ignore_discard, ignore_expires)
1804 def revert(self, filename=None,
1813 if self.filename is not None: filename = self.filename
1816 self._cookies_lock.acquire()
1819 old_state = copy.deepcopy(self._cookies)
1820 self._cookies = {}
1822 self.load(filename, ignore_discard, ignore_expires)
1824 self._cookies = old_state
1828 self._cookies_lock.release()
1872 def as_lwp_str(self, ignore_discard=True, ignore_expires=True):
1880 for cookie in self:
1888 def save(self, filename=None, ignore_discard=False, ignore_expires=False):
1890 if self.filename is not None: filename = self.filename
1901 f.write(self.as_lwp_str(ignore_discard, ignore_expires))
1903 def _really_load(self, f, filename, ignore_discard, ignore_expires):
1905 if not self.magic_re.search(magic):
1973 self.set_cookie(c)
2014 def _really_load(self, f, filename, ignore_discard, ignore_expires):
2078 self.set_cookie(c)
2087 def save(self, filename=None, ignore_discard=False, ignore_expires=False):
2089 if self.filename is not None: filename = self.filename
2098 for cookie in self: