29 |
def lang_normalize(lang): |
def lang_normalize(lang): |
30 |
return lang.replace('_', '-') |
return lang.replace('_', '-') |
31 |
|
|
32 |
|
|
33 |
|
def str_lower(aString): |
34 |
|
return aString.lower() |
35 |
|
|
36 |
def type_accepted(available, preferred): |
def type_accepted(available, preferred): |
37 |
# ex: preferred is text/* and available is text/html |
# ex: preferred is text/* and available is text/html |
38 |
av = available.split('/') |
av = available.split('/') |
50 |
|
|
51 |
class Negotiator: |
class Negotiator: |
52 |
filters = { |
filters = { |
53 |
'content-type': (str.lower,), |
'content-type': (str_lower,), |
54 |
'language': (str.lower, lang_normalize), |
'language': (str_lower, lang_normalize), |
55 |
} |
} |
56 |
|
|
57 |
tests = { |
tests = { |