本文整理汇总了Python中webob.etag.ETagMatcher类的典型用法代码示例。如果您正苦于以下问题:Python ETagMatcher类的具体用法?Python ETagMatcher怎么用?Python ETagMatcher使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了ETagMatcher类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_matcher
def test_matcher():
matcher = ETagMatcher(['ETAGS'])
matcher = ETagMatcher(['ETAGS'])
assert matcher.etags == ['ETAGS']
with pytest.raises(DeprecationWarning):
matcher.weak_match("etag")
assert "ETAGS" in matcher
assert "WEAK" not in matcher
assert "BEER" not in matcher
assert None not in matcher
assert repr(matcher) == '<ETag ETAGS>'
assert str(matcher) == '"ETAGS"'
matcher2 = ETagMatcher(("ETAG1","ETAG2"))
assert repr(matcher2) == '<ETag ETAG1 or ETAG2>'
示例2: _parse_etag
def _parse_etag(value, default=True):
if value is None:
value = ''
value = value.strip()
if not value:
if default:
return AnyETag
else:
return NoETag
if value == '*':
return AnyETag
else:
return ETagMatcher.parse(value)
示例3: check_etag
def check_etag(request, etag):
"""
returns a response if the request contains an if-none-match
header that matches the given etag. returns None if the
request should proceed as normal.
"""
rtags = request.headers.get('if-none-match', None)
if rtags is None:
return None
# spec requires that only GET and HEAD may be used
if request.method not in ['GET', 'HEAD']:
return HttpResponse(status=412) # precondition failed
matcher = ETagMatcher.parse(rtags)
if etag in matcher:
return HttpResponse(status=304, headers=[('etag', etag)])
else:
return None
示例4: test_parse_commasep_w_weak
def test_parse_commasep_w_weak(self):
et = ETagMatcher.parse('ONE, w/TWO')
self.assertEqual(et.etags, ['ONE'])
self.assertEqual(et.weak_etags, ['TWO'])
示例5: test_parse_anyetag
def test_parse_anyetag(self):
# these tests smell bad, are they useful?
et = ETagMatcher.parse('*')
self.assertEqual(et.__dict__, {})
self.assertEqual(et.__repr__(), '<ETag *>')
示例6: test_parse_one
def test_parse_one(self):
et = ETagMatcher.parse('ONE')
self.assertEqual(et.etags, ['ONE'])
self.assertEqual(et.weak_etags, [])
示例7: test_parse_quoted_two_weak
def test_parse_quoted_two_weak(self):
et = ETagMatcher.parse('"ONE", W/"TWO"')
assert et.etags == ["ONE"]
et = ETagMatcher.parse('"ONE", W/"TWO"', strong=False)
assert et.etags, ["ONE" == "TWO"]
示例8: test_parse_None
def test_parse_None(self):
et = ETagMatcher.parse(None)
self.assertEqual(et.etags, [])
self.assertEqual(et.weak_etags, [])
示例9: test_parse_wo_close_quote
def test_parse_wo_close_quote(self):
# Unsure if this is testing likely input
et = ETagMatcher.parse('"ONE')
self.assertEqual(et.etags, ['ONE'])
self.assertEqual(et.weak_etags, [])
示例10: test_parse_quoted_two_weak
def test_parse_quoted_two_weak(self):
et = ETagMatcher.parse('"ONE", W/"TWO"')
self.assertEqual(et.etags, ['ONE'])
et = ETagMatcher.parse('"ONE", W/"TWO"', strong=False)
self.assertEqual(et.etags, ['ONE', 'TWO'])
示例11: test_parse_invalid
def test_parse_invalid(self):
for tag in ["one", "one, two", '"one two']:
et = ETagMatcher.parse(tag)
assert et.etags == [tag]
et = ETagMatcher.parse('"foo" and w/"weak"', strong=False)
assert et.etags == ["foo"]
示例12: test_parse_invalid
def test_parse_invalid(self):
for tag in ['one', 'one, two', '"one two']:
et = ETagMatcher.parse(tag)
self.assertEqual(et.etags, [tag])
et = ETagMatcher.parse('"foo" and w/"weak"', strong=False)
self.assertEqual(et.etags, ['foo'])
示例13: test_parse_None
def test_parse_None(self):
et = ETagMatcher.parse(None)
assert et.etags == []
示例14: test_parse_anyetag
def test_parse_anyetag(self):
# these tests smell bad, are they useful?
et = ETagMatcher.parse("*")
assert et.__dict__ == {}
assert et.__repr__() == "<ETag *>"
示例15: test_parse_commasep
def test_parse_commasep(self):
et = ETagMatcher.parse('"ONE", "TWO"')
self.assertEqual(et.etags, ['ONE', 'TWO'])