@@ -278,7 +278,8 @@ def form(self):
278278 escape (state .name ),
279279 )
280280 out += '</select>'
281- return mark_safe (out )
281+ # All user-supplied values are run through escape() above.
282+ return mark_safe (out ) # noqa: S308
282283
283284
284285class SearchFilter (Filter ):
@@ -315,7 +316,8 @@ def form(self):
315316 value = ''
316317 if self .search :
317318 value = escape (self .search )
318- return mark_safe (
319+ # self.param is a hardcoded class attribute; value is escaped above.
320+ return mark_safe ( # noqa: S308
319321 '<input name="%s" class="form-control" value="%s">'
320322 % (self .param , value )
321323 )
@@ -389,7 +391,9 @@ def form(self):
389391 'selected' : selected ,
390392 'value' : self .param_map [b ],
391393 }
392- return mark_safe (s )
394+ # all values come from hardcoded class attributes (description_map,
395+ # param_map)
396+ return mark_safe (s ) # noqa: S308
393397
394398
395399class DelegateFilter (Filter ):
@@ -463,7 +467,9 @@ def kwargs(self):
463467 @property
464468 def form (self ):
465469 if self .forced :
466- return mark_safe (
470+ # when forced, condition is a delegate username set
471+ # programmatically, not from user input
472+ return mark_safe ( # noqa: S308
467473 '<input type="hidden" value="%s">%s'
468474 % (self .param , self .condition )
469475 )
@@ -499,7 +505,9 @@ def form(self):
499505 delegate .username ,
500506 )
501507 out += '</select>'
502- return mark_safe (out )
508+ # delegate.id is an integer; delegate.username is restricted to safe
509+ # characters by Django
510+ return mark_safe (out ) # noqa: S308
503511
504512 def set_status (self , * args , ** kwargs ):
505513 if 'delegate' in kwargs :
0 commit comments