@@ -8,15 +8,18 @@ def __init__(self, name, alternatives, default = '', add_empty = True):
8
8
self ._alternatives .append ('' )
9
9
self ._default = default
10
10
11
- def filter (self , request , response ):
11
+ def filter (self , request , response , cookies = True ):
12
12
data = request .args .get (self .name , None )
13
13
if data != None :
14
- response .set_cookie (self .name , data )
14
+ if cookies :
15
+ response .set_cookie (self .name , data )
15
16
else :
16
- data = request .cookies .get (self .name , None )
17
+ if cookies :
18
+ data = request .cookies .get (self .name , None )
17
19
if data == None :
18
20
data = self ._default
19
- response .set_cookie (self .name , data )
21
+ if cookies :
22
+ response .set_cookie (self .name , data )
20
23
return data
21
24
22
25
def alternatives (self , removed ):
@@ -25,13 +28,13 @@ def alternatives(self, removed):
25
28
result .remove (removed )
26
29
return result
27
30
28
- def compute (self , request , response ):
29
- current = self .filter (request , response )
31
+ def compute (self , request , response , cookies = True ):
32
+ current = self .filter (request , response , cookies )
30
33
other = self .alternatives (current )
31
34
return (current , other )
32
35
33
- def make_instance (self , request , response ):
34
- (current , other ) = self .compute (request , response )
36
+ def make_instance (self , request , response , cookies = True ):
37
+ (current , other ) = self .compute (request , response , cookies )
35
38
return FilterInstance (self .name , current , other , self ._alternatives )
36
39
37
40
class FilterInstance (object ):
@@ -46,10 +49,10 @@ def add_to_query(self, query):
46
49
query .filter (self .name + ' =' , self .current )
47
50
48
51
class FilterCollection (object ):
49
- def __init__ (self , filters , request , response ):
52
+ def __init__ (self , filters , request , response , cookies = True ):
50
53
self .instances = dict ()
51
54
for filt in filters :
52
- self .instances [filt .name ] = filt .make_instance (request , response )
55
+ self .instances [filt .name ] = filt .make_instance (request , response , cookies )
53
56
54
57
def __getitem__ (self , key ):
55
58
return self .instances [key ]
0 commit comments