于 2014/3/4 0:24, Aline Manera 写道:
On 03/03/2014 12:20 PM, Shu Ming wrote:
Shelon,

I got another idea to check of the string is utf-8 already not checking the cherrypy's version, see the below:

try:
    res.decode('utf-8')
    res.encode("utf-8")
    return res;
 except UnicodeDecodeError:
    return res.encode("utf-8")


+1

We should avoid base our code in the package versions.
That way we make sure the code will code independent of it.

After direct talk with Sheldon,  the res will return to Cherrypy and it is Cherrypy to decode the "res" to a string or not based on Cherrypy's version.   Just ignore my method in kimchi,  because we need to check the cherrypy's assumption of the type of "res" to it.   And checking Cherrypy's version is a fast way to know the assumption.



2014/3/3 17:50, Sheldon:
Now there's a issue:
https://github.com/kimchi-project/kimchi/issues/333

The reason of this issue is because high level cherrpy version make some change about set_response.

The high level cherrpy encode the unicode error message by itself.

So the kimchi do not encode the unicode error message any more.

It is right, the cherrpy should encode the unicode error message.

Now we can require the cherrypy version to solve this problem.

we can also check the cherrypy version in kimchi code as follow in order to avoid to require the cherrypy version.

like:
if cherrypy.__version__ << 3.2.5:
return res
else:
return res.encode("utf-8")




_______________________________________________
Kimchi-devel mailing list
Kimchi-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/kimchi-devel