backported some aum stuff

This commit is contained in:
Romain Bignon 2010-03-11 17:40:26 +01:00
commit bcd63ee3e7
2 changed files with 17 additions and 4 deletions

View file

@ -219,6 +219,11 @@ class Browser(mechanize.Browser):
if self.__cookie:
self.__cookie.save()
def str(self, s):
if isinstance(s, unicode):
s = s.encode('iso-8859-15', 'replace')
return s
def set_field(self, args, label, field=None, value=None, is_list=False):
try:
if not field:
@ -228,15 +233,15 @@ class Browser(mechanize.Browser):
if is_list:
if isinstance(is_list, (list, tuple)):
try:
value = [str(is_list.index(args[label]))]
value = [self.str(is_list.index(args[label]))]
except ValueError, e:
if args[label]:
print '[%s] %s: %s' % (label, args[label], e)
return
else:
value = [str(args[label])]
value = [self.str(args[label])]
else:
value = str(args[label])
value = self.str(args[label])
self[field] = value
except ClientForm.ControlNotFoundError:
return