nimbusproject / nimbus

Nimbus - Open Source Cloud Computing Software - 100% Apache2 licensed
http://www.nimbusproject.org/
197 stars 82 forks source link

Cumulus is not handling internation file names correctly #97

Open buzztroll opened 12 years ago

buzztroll commented 12 years ago

When adding an object to Cumulus with a chinese file name the following error occurs:

Traceback (most recent call last): File "build/bdist.linux-x86_64/egg/pycb/cumulus.py", line 172, in process_event self.allowed_event(request, user, requestId, rPath) File "build/bdist.linux-x86_64/egg/pycb/cumulus.py", line 186, in allowed_event cbR.work() File "build/bdist.linux-x86_64/egg/pycb/cbRequest.py", line 576, in work exists = self.user.exists(self.bucketName, self.objectName) File "build/bdist.linux-x86_64/egg/pycb/cbAuthzSecurity.py", line 164, in exists file = self.get_file_obj(bucketName, objectName) File "build/bdist.linux-x86_64/egg/pycb/cbAuthzSecurity.py", line 67, in get_file_obj file = File.get_file(self.db_obj, objectName, pynimbusauthz.object_type_s3, file) File "build/bdist.linux-x86_64/egg/pynimbusauthz/objects.py", line 143, in get_file row = db_obj._run_fetch_one(s, data) File "build/bdist.linux-x86_64/egg/pynimbusauthz/db.py", line 82, in _run_fetch_one c.execute(s, data) ProgrammingError:You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit bytestrings (like text_factory = str). It is highly recommended that you instead just switch your application to Unicode string."

buzztroll commented 12 years ago

fixed with b77f65c

priteau commented 12 years ago

John, could you please fix the unit test for this issue so that it doesn't expect the CUMULUS_WORD environment variable?