@@ -535,14 +535,14 @@ def __getitem__(self, item):
535535 value = lookupIds (self ._db , prop ,
536536 handleListCGIValue (form [item ]), fail_ok = 1 )
537537 elif isinstance (prop , hyperdb .Link ):
538- value = form [ item ]. value .strip ()
538+ value = form . getfirst ( item ) .strip ()
539539 if value :
540540 value = lookupIds (self ._db , prop , [value ],
541541 fail_ok = 1 )[0 ]
542542 else :
543543 value = None
544544 else :
545- value = form [ item ]. value .strip () or None
545+ value = form . getfirst ( item ) .strip () or None
546546 else :
547547 if isinstance (prop , hyperdb .Multilink ):
548548 value = []
@@ -2225,10 +2225,10 @@ def _parse_sort(self, var, name):
22252225 key = '%s%s%d' % (special , name , idx )
22262226 while key in self .form :
22272227 self .special_char = special
2228- fields .append (self .form [ key ]. value )
2228+ fields .append (self .form . getfirst ( key ) )
22292229 dirkey = '%s%sdir%d' % (special , name , idx )
22302230 if dirkey in self .form :
2231- dirs .append (self .form [ dirkey ]. value )
2231+ dirs .append (self .form . getfirst ( dirkey ) )
22322232 else :
22332233 dirs .append (None )
22342234 idx += 1
@@ -2239,7 +2239,7 @@ def _parse_sort(self, var, name):
22392239 if key in self .form and not fields :
22402240 fields = handleListCGIValue (self .form [key ])
22412241 if dirkey in self .form :
2242- dirs .append (self .form [ dirkey ]. value )
2242+ dirs .append (self .form . getfirst ( dirkey ) )
22432243 if fields : # only try other special char if nothing found
22442244 break
22452245 for f , d in map (None , fields , dirs ):
@@ -2302,31 +2302,25 @@ def _post_init(self):
23022302 for name in ':search_text @search_text' .split ():
23032303 if self .form .has_key (name ):
23042304 self .special_char = name [0 ]
2305- try :
2306- self .search_text = self .form [name ].value
2307- except AttributeError :
2308- # http://psf.upfronthosting.co.za/roundup/meta/issue111
2309- # Multiple search_text, probably some kind of spambot.
2310- # Use first value.
2311- self .search_text = self .form [name ][0 ].value
2305+ self .search_text = self .form .getfirst (name )
23122306
23132307 # pagination - size and start index
23142308 # figure batch args
23152309 self .pagesize = 50
23162310 for name in ':pagesize @pagesize' .split ():
23172311 if self .form .has_key (name ):
23182312 self .special_char = name [0 ]
2319- self .pagesize = int (self .form [ name ]. value )
2313+ self .pagesize = int (self .form . getfirst ( name ) )
23202314
23212315 self .startwith = 0
23222316 for name in ':startwith @startwith' .split ():
23232317 if self .form .has_key (name ):
23242318 self .special_char = name [0 ]
2325- self .startwith = int (self .form [ name ]. value )
2319+ self .startwith = int (self .form . getfirst ( name ) )
23262320
23272321 # dispname
23282322 if self .form .has_key ('@dispname' ):
2329- self .dispname = self .form [ '@dispname' ]. value
2323+ self .dispname = self .form . getfirst ( '@dispname' )
23302324 else :
23312325 self .dispname = None
23322326
0 commit comments