Change error into awesome user-friendlyness

Hi there,

I was getting a very weird error "ODict valuelist should be lists", when attempting to add a header.

My code was as followed:

```
        msg.headers["API-Key"] = new_headers["API-Key"]                                                                                                                                                                              
 42         msg.headers["API-Sign"] = new_headers["API-Sign"]
```

In the end, that was because there could be multiple equal headers. In order to cater to that, it you guys might enjoy the patch I attach, for it converts strings automatically into lists of multiple headers.

I think it should work, but I haven't tested it :$

It'd allow me to have the above code, instead of this one below:

```
        msg.headers["API-Key"] = [new_headers["API-Key"]]                                                                                                                                                                               
 42         msg.headers["API-Sign"] = [new_headers["API-Sign"]]
```
This commit is contained in:
Pedro Worcel 2014-03-30 20:58:47 +13:00
parent a3107474f9
commit e7c3e4c5ac

View File

@ -60,7 +60,9 @@ class ODict:
key, they are cleared. key, they are cleared.
""" """
if isinstance(valuelist, basestring): if isinstance(valuelist, basestring):
raise ValueError("ODict valuelist should be lists.") # convert the string into a single element list.
valuelist = [valuelist]
new = self._filter_lst(k, self.lst) new = self._filter_lst(k, self.lst)
for i in valuelist: for i in valuelist:
new.append([k, i]) new.append([k, i])