3
3
4
4
"""
5
5
from django import forms
6
-
7
- import six
8
-
9
6
from .core import AgnocompleteBase
10
7
from .constants import AGNOCOMPLETE_USER_ATTRIBUTE
11
8
from .widgets import AgnocompleteSelect , AgnocompleteMultiSelect
22
19
]
23
20
24
21
25
- class AgnocompleteMixin ( object ) :
22
+ class AgnocompleteMixin :
26
23
"""
27
24
Handles the Agnocomplete generic handling for fields.
28
25
"""
@@ -55,7 +52,7 @@ class SearchForm(forms.Form):
55
52
56
53
"""
57
54
# If string, use register to fetch the class
58
- if isinstance (klass_or_instance , six . string_types ):
55
+ if isinstance (klass_or_instance , str ):
59
56
registry = get_agnocomplete_registry ()
60
57
if klass_or_instance not in registry :
61
58
raise UnregisteredAgnocompleteException (
@@ -100,16 +97,15 @@ def clean(self, *args, **kwargs):
100
97
the user context.
101
98
"""
102
99
self .transmit_agnocomplete_context ()
103
- return super (AgnocompleteMixin , self ).clean (* args , ** kwargs )
100
+ return super ().clean (* args , ** kwargs )
104
101
105
102
106
- class AgnocompleteContextQuerysetMixin ( object ) :
103
+ class AgnocompleteContextQuerysetMixin :
107
104
def transmit_agnocomplete_context (self ):
108
105
"""
109
106
We'll reset the current queryset only if the user is set.
110
107
"""
111
- user = super (AgnocompleteContextQuerysetMixin , self ) \
112
- .transmit_agnocomplete_context ()
108
+ user = super ().transmit_agnocomplete_context ()
113
109
if user :
114
110
self .queryset = self .agnocomplete .get_queryset ()
115
111
return user
@@ -121,8 +117,7 @@ class AgnocompleteField(AgnocompleteMixin, forms.ChoiceField):
121
117
"""
122
118
def __init__ (self , agnocomplete , user = None , ** kwargs ):
123
119
self .set_agnocomplete (agnocomplete , user )
124
- super (AgnocompleteField , self ).__init__ (
125
- choices = self .agnocomplete .get_choices (), ** kwargs )
120
+ super ().__init__ (choices = self .agnocomplete .get_choices (), ** kwargs )
126
121
self ._setup_agnocomplete_widget ()
127
122
128
123
@@ -134,8 +129,7 @@ class AgnocompleteModelField(AgnocompleteContextQuerysetMixin,
134
129
"""
135
130
def __init__ (self , agnocomplete , user = None , ** kwargs ):
136
131
self .set_agnocomplete (agnocomplete , user )
137
- super (AgnocompleteModelField , self ).__init__ (
138
- self .agnocomplete .get_choices (), ** kwargs )
132
+ super ().__init__ (self .agnocomplete .get_choices (), ** kwargs )
139
133
self ._setup_agnocomplete_widget ()
140
134
141
135
@@ -147,7 +141,7 @@ class AgnocompleteMultipleMixin(AgnocompleteMixin):
147
141
clean_empty = True
148
142
149
143
def _setup_agnocomplete_widget (self ):
150
- super (AgnocompleteMultipleMixin , self )._setup_agnocomplete_widget ()
144
+ super ()._setup_agnocomplete_widget ()
151
145
# self.widget is a thing here
152
146
self .widget .create = self .create
153
147
@@ -163,7 +157,7 @@ def empty_value(self):
163
157
def to_python (self , value ):
164
158
# Pre-clean the list value
165
159
value = self .clear_list_value (value )
166
- value = super (AgnocompleteMultipleMixin , self ).to_python (value )
160
+ value = super ().to_python (value )
167
161
# return the new cleaned value or the default empty_value
168
162
return value or self .empty_value
169
163
@@ -189,8 +183,7 @@ def __init__(self, agnocomplete, user=None,
189
183
create = False , create_field = False , ** kwargs ):
190
184
self .set_agnocomplete (agnocomplete , user )
191
185
self .set_create_field (create = create , create_field = create_field )
192
- super (AgnocompleteMultipleField , self ).__init__ (
193
- choices = self .agnocomplete .get_choices (), ** kwargs )
186
+ super ().__init__ (choices = self .agnocomplete .get_choices (), ** kwargs )
194
187
self ._setup_agnocomplete_widget ()
195
188
196
189
@@ -204,8 +197,7 @@ def __init__(self, agnocomplete, user=None,
204
197
create = False , create_field = False , ** kwargs ):
205
198
self .set_agnocomplete (agnocomplete , user )
206
199
self .set_create_field (create = create , create_field = create_field )
207
- super (AgnocompleteModelMultipleField , self ).__init__ (
208
- self .agnocomplete .get_choices (), ** kwargs )
200
+ super ().__init__ (self .agnocomplete .get_choices (), ** kwargs )
209
201
self ._setup_agnocomplete_widget ()
210
202
self ._new_values = []
211
203
@@ -255,7 +247,7 @@ def clean(self, value):
255
247
"""
256
248
if not self .create :
257
249
# No new value can be created, use the regular clean field
258
- return super (AgnocompleteModelMultipleField , self ).clean (value )
250
+ return super ().clean (value )
259
251
260
252
# We have to do this here before the call to "super".
261
253
# It'll be called again, but we can't find a way to "pre_clean" the
@@ -266,12 +258,12 @@ def clean(self, value):
266
258
pks = [v for v in value if v .isdigit ()]
267
259
self ._new_values = [v for v in value if not v .isdigit ()]
268
260
269
- qs = super (AgnocompleteModelMultipleField , self ).clean (pks )
261
+ qs = super ().clean (pks )
270
262
271
263
return qs
272
264
273
265
274
- class AgnocompleteUrlProxyMixin ( object ) :
266
+ class AgnocompleteUrlProxyMixin :
275
267
"""
276
268
This mixin can be used with a field which actually using
277
269
:class:`agnocomplete.core.AutocompletUrlProxy`. The main purpose is to
0 commit comments