Yes, I have confirmed as well. I've created a new issue to track this: https://issues.apache.org/jira/browse/CMIS-292
Because this may take some time to resolve, and because 2.6 is still very widely used, I would prefer that this not block the 0.4 release. Jeff On Jan 20, 2011, at 1:34 AM, Stefane Fermigier wrote: > Indeed, the two unicode errors disappear with Python 2.6 (on Linux, not > tested on the mac). > > S. > > On Jan 19, 2011, at 10:25 PM, Jeff Potts wrote: > >> Stefane, >> >> I cannot recreate these errors when running against the same server with >> Python 2.6.6 on Mac OS X. I'm noticing you are running Python 2.7.1, which >> is completely untested with cmislib as far as I know. >> >> The only difference in settings is that I've created a root folder called >> "cmislib" instead of using the "default-domain" folder. >> >> Jeff >> >> On Jan 19, 2011, at 12:01 PM, Stefane Fermigier wrote: >> >>> I have tested it against our cmis demo repository, with settings: >>> >>> REPOSITORY_URL = 'http://cmis.demo.nuxeo.org/nuxeo/atom/cmis' # Nuxeo demo >>> USERNAME = 'Administrator' # Nuxeo >>> PASSWORD = 'Administrator' # Nuxeo >>> EXT_ARGS = {} >>> TEST_ROOT_PATH = '/default-domain' # No trailing slash >>> TEST_BINARY_1 = '250px-Cmis_logo.png' >>> TEST_BINARY_2 = 'sample-a.pdf' >>> TEST_PRINCIPAL_ID = 'tuser1' >>> MAX_FULL_TEXT_TRIES = 10 >>> FULL_TEXT_WAIT = 10 >>> >>> I get 3 unicode errors (which might be bugs in cmislib) and 2 errors which >>> are due to unimplemented methods on Nuxeo's side (not sure if they are >>> advertised as such or not). >>> >>> S. >>> >>> -- >>> >>> Stefanes-macbook% ../../env/bin/python cmislibtest.py >>> ........E.......Repo does not support unfiling, skipping >>> .................E...E..........This repository does not allow content >>> stream updates on the doc, skipping >>> .EE.....This repository does not support ACLs >>> .This repository does not support ACLs >>> .This repository does not support ACLs >>> .This repository does not support ACLs >>> .This repository does not support ACLs >>> .This repository does not support ACLs >>> .This repository does not support ACLs >>> ... >>> ====================================================================== >>> ERROR: testCreateDocumentUnicode (__main__.RepositoryTest) >>> Create a new doc with unicode characters in the name >>> ---------------------------------------------------------------------- >>> Traceback (most recent call last): >>> File "cmislibtest.py", line 259, in testCreateDocumentUnicode >>> newDoc = self._repo.createDocument(documentName, >>> parentFolder=self._testFolder) >>> File >>> "/Users/fermigier/src/cmislib-0.4/env/lib/python2.7/site-packages/cmislib/model.py", >>> line 1137, in createDocument >>> contentType, contentEncoding) >>> File >>> "/Users/fermigier/src/cmislib-0.4/env/lib/python2.7/site-packages/cmislib/model.py", >>> line 2784, in createDocument >>> result = self._cmisClient.post(postUrl, xmlDoc.toxml(encoding='utf-8'), >>> ATOM_XML_ENTRY_TYPE) >>> File >>> "/Users/fermigier/src/cmislib-0.4/env/lib/python2.7/site-packages/cmislib/model.py", >>> line 252, in post >>> **kwargs) >>> File >>> "/Users/fermigier/src/cmislib-0.4/env/lib/python2.7/site-packages/cmislib/net.py", >>> line 237, in post >>> return opener.open(request) >>> File >>> "/Users/fermigier/homebrew/Cellar/python/2.7.1/lib/python2.7/urllib2.py", >>> line 392, in open >>> response = self._open(req, data) >>> File >>> "/Users/fermigier/homebrew/Cellar/python/2.7.1/lib/python2.7/urllib2.py", >>> line 410, in _open >>> '_open', req) >>> File >>> "/Users/fermigier/homebrew/Cellar/python/2.7.1/lib/python2.7/urllib2.py", >>> line 370, in _call_chain >>> result = func(*args) >>> File >>> "/Users/fermigier/homebrew/Cellar/python/2.7.1/lib/python2.7/urllib2.py", >>> line 1186, in http_open >>> return self.do_open(httplib.HTTPConnection, req) >>> File >>> "/Users/fermigier/homebrew/Cellar/python/2.7.1/lib/python2.7/urllib2.py", >>> line 1155, in do_open >>> h.request(req.get_method(), req.get_selector(), req.data, headers) >>> File >>> "/Users/fermigier/homebrew/Cellar/python/2.7.1/lib/python2.7/httplib.py", >>> line 941, in request >>> self._send_request(method, url, body, headers) >>> File >>> "/Users/fermigier/homebrew/Cellar/python/2.7.1/lib/python2.7/httplib.py", >>> line 975, in _send_request >>> self.endheaders(body) >>> File >>> "/Users/fermigier/homebrew/Cellar/python/2.7.1/lib/python2.7/httplib.py", >>> line 937, in endheaders >>> self._send_output(message_body) >>> File >>> "/Users/fermigier/homebrew/Cellar/python/2.7.1/lib/python2.7/httplib.py", >>> line 795, in _send_output >>> msg += message_body >>> UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 353: >>> ordinal not in range(128) >>> >>> ====================================================================== >>> ERROR: testCancelCheckout (__main__.DocumentTest) >>> Create a document in a test folder, check it out, then cancel >>> ---------------------------------------------------------------------- >>> Traceback (most recent call last): >>> File "cmislibtest.py", line 774, in testCancelCheckout >>> checkedOutDocs = self._repo.getCollection('checkedout') >>> File >>> "/Users/fermigier/src/cmislib-0.4/env/lib/python2.7/site-packages/cmislib/model.py", >>> line 1281, in getCollection >>> result = self._cmisClient.get(self.getCollectionLink(collectionType), >>> **kwargs) >>> File >>> "/Users/fermigier/src/cmislib-0.4/env/lib/python2.7/site-packages/cmislib/model.py", >>> line 203, in get >>> self._processCommonErrors(result) >>> File >>> "/Users/fermigier/src/cmislib-0.4/env/lib/python2.7/site-packages/cmislib/model.py", >>> line 311, in _processCommonErrors >>> raise NotSupportedException(error.status, error.url) >>> NotSupportedException: Error 405 at >>> http://cmis.demo.nuxeo.org/nuxeo/atom/cmis/default/checkedout >>> >>> ====================================================================== >>> ERROR: testCheckout (__main__.DocumentTest) >>> Create a document in a test folder, then check it out >>> ---------------------------------------------------------------------- >>> Traceback (most recent call last): >>> File "cmislibtest.py", line 697, in testCheckout >>> checkedOutDocs = self._repo.getCollection('checkedout') >>> File >>> "/Users/fermigier/src/cmislib-0.4/env/lib/python2.7/site-packages/cmislib/model.py", >>> line 1281, in getCollection >>> result = self._cmisClient.get(self.getCollectionLink(collectionType), >>> **kwargs) >>> File >>> "/Users/fermigier/src/cmislib-0.4/env/lib/python2.7/site-packages/cmislib/model.py", >>> line 203, in get >>> self._processCommonErrors(result) >>> File >>> "/Users/fermigier/src/cmislib-0.4/env/lib/python2.7/site-packages/cmislib/model.py", >>> line 311, in _processCommonErrors >>> raise NotSupportedException(error.status, error.url) >>> NotSupportedException: Error 405 at >>> http://cmis.demo.nuxeo.org/nuxeo/atom/cmis/default/checkedout >>> >>> ====================================================================== >>> ERROR: testSetContentStreamPWC (__main__.DocumentTest) >>> Set the content stream on the PWC >>> ---------------------------------------------------------------------- >>> Traceback (most recent call last): >>> File "cmislibtest.py", line 884, in testSetContentStreamPWC >>> pwc.setContentStream(f) >>> File >>> "/Users/fermigier/src/cmislib-0.4/env/lib/python2.7/site-packages/cmislib/model.py", >>> line 2609, in setContentStream >>> result = self._cmisClient.put(srcUrl, contentFile.read(), mimetype) >>> File >>> "/Users/fermigier/src/cmislib-0.4/env/lib/python2.7/site-packages/cmislib/model.py", >>> line 281, in put >>> **kwargs) >>> File >>> "/Users/fermigier/src/cmislib-0.4/env/lib/python2.7/site-packages/cmislib/net.py", >>> line 198, in put >>> return opener.open(request) >>> File >>> "/Users/fermigier/homebrew/Cellar/python/2.7.1/lib/python2.7/urllib2.py", >>> line 392, in open >>> response = self._open(req, data) >>> File >>> "/Users/fermigier/homebrew/Cellar/python/2.7.1/lib/python2.7/urllib2.py", >>> line 410, in _open >>> '_open', req) >>> File >>> "/Users/fermigier/homebrew/Cellar/python/2.7.1/lib/python2.7/urllib2.py", >>> line 370, in _call_chain >>> result = func(*args) >>> File >>> "/Users/fermigier/homebrew/Cellar/python/2.7.1/lib/python2.7/urllib2.py", >>> line 1186, in http_open >>> return self.do_open(httplib.HTTPConnection, req) >>> File >>> "/Users/fermigier/homebrew/Cellar/python/2.7.1/lib/python2.7/urllib2.py", >>> line 1155, in do_open >>> h.request(req.get_method(), req.get_selector(), req.data, headers) >>> File >>> "/Users/fermigier/homebrew/Cellar/python/2.7.1/lib/python2.7/httplib.py", >>> line 941, in request >>> self._send_request(method, url, body, headers) >>> File >>> "/Users/fermigier/homebrew/Cellar/python/2.7.1/lib/python2.7/httplib.py", >>> line 975, in _send_request >>> self.endheaders(body) >>> File >>> "/Users/fermigier/homebrew/Cellar/python/2.7.1/lib/python2.7/httplib.py", >>> line 937, in endheaders >>> self._send_output(message_body) >>> File >>> "/Users/fermigier/homebrew/Cellar/python/2.7.1/lib/python2.7/httplib.py", >>> line 795, in _send_output >>> msg += message_body >>> UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 11: >>> ordinal not in range(128) >>> >>> ====================================================================== >>> ERROR: testSetContentStreamPWCMimeType (__main__.DocumentTest) >>> Check the mimetype after the PWC checkin >>> ---------------------------------------------------------------------- >>> Traceback (most recent call last): >>> File "cmislibtest.py", line 921, in testSetContentStreamPWCMimeType >>> pwc.setContentStream(f) >>> File >>> "/Users/fermigier/src/cmislib-0.4/env/lib/python2.7/site-packages/cmislib/model.py", >>> line 2609, in setContentStream >>> result = self._cmisClient.put(srcUrl, contentFile.read(), mimetype) >>> File >>> "/Users/fermigier/src/cmislib-0.4/env/lib/python2.7/site-packages/cmislib/model.py", >>> line 281, in put >>> **kwargs) >>> File >>> "/Users/fermigier/src/cmislib-0.4/env/lib/python2.7/site-packages/cmislib/net.py", >>> line 198, in put >>> return opener.open(request) >>> File >>> "/Users/fermigier/homebrew/Cellar/python/2.7.1/lib/python2.7/urllib2.py", >>> line 392, in open >>> response = self._open(req, data) >>> File >>> "/Users/fermigier/homebrew/Cellar/python/2.7.1/lib/python2.7/urllib2.py", >>> line 410, in _open >>> '_open', req) >>> File >>> "/Users/fermigier/homebrew/Cellar/python/2.7.1/lib/python2.7/urllib2.py", >>> line 370, in _call_chain >>> result = func(*args) >>> File >>> "/Users/fermigier/homebrew/Cellar/python/2.7.1/lib/python2.7/urllib2.py", >>> line 1186, in http_open >>> return self.do_open(httplib.HTTPConnection, req) >>> File >>> "/Users/fermigier/homebrew/Cellar/python/2.7.1/lib/python2.7/urllib2.py", >>> line 1155, in do_open >>> h.request(req.get_method(), req.get_selector(), req.data, headers) >>> File >>> "/Users/fermigier/homebrew/Cellar/python/2.7.1/lib/python2.7/httplib.py", >>> line 941, in request >>> self._send_request(method, url, body, headers) >>> File >>> "/Users/fermigier/homebrew/Cellar/python/2.7.1/lib/python2.7/httplib.py", >>> line 975, in _send_request >>> self.endheaders(body) >>> File >>> "/Users/fermigier/homebrew/Cellar/python/2.7.1/lib/python2.7/httplib.py", >>> line 937, in endheaders >>> self._send_output(message_body) >>> File >>> "/Users/fermigier/homebrew/Cellar/python/2.7.1/lib/python2.7/httplib.py", >>> line 795, in _send_output >>> msg += message_body >>> UnicodeDecodeError: 'ascii' codec can't decode byte 0x89 in position 0: >>> ordinal not in range(128) >>> >>> ---------------------------------------------------------------------- >>> Ran 65 tests in 213.509s >>> >>> FAILED (errors=5) >>> >>> >>> On Jan 19, 2011, at 6:44 PM, Jeff Potts wrote: >>> >>>> The cmislib sub-project of Apache Chemistry is ready for its first release >>>> since joining the project. >>>> >>>> You can find the main release candidate artifacts (for distribution at >>>> apache.org/dist) at: >>>> http://people.apache.org/~jpotts/chemistry/cmislib/0.4/dist >>>> >>>> These artifacts represent what is currently in cmislib head. >>>> >>>> As this is the first release since joining the project, the release >>>> includes several fixes and enhancements that have been contributed from >>>> the community. >>>> >>>> The vote is open for 72 hours and passes if a majority of at least three >>>> +1 Chemistry PMC votes are cast. >>>> >>>> Please cast your votes! >>>> >>>> [ ] +1 Release this package as Apache Chemistry cmislib 0.4 >>>> [ ] -1 Do not release this package because... >>>> >>>> My vote is +1. >>>> >>>> Thanks, >>>> >>>> Jeff >>> >>> -- >>> Stefane Fermigier, Founder and Chairman, Nuxeo >>> Open Source, Java EE based, Enterprise Content Management (ECM) >>> http://www.nuxeo.com/ - +33 1 40 33 79 87 - http://twitter.com/sfermigier >>> Join the Nuxeo Group on LinkedIn: http://linkedin.com/groups?gid=43314 >>> New Nuxeo release: http://nuxeo.com/dm54 >>> "There's no such thing as can't. You always have a choice." >>> >> > > -- > Stefane Fermigier, Founder and Chairman, Nuxeo > Open Source, Java EE based, Enterprise Content Management (ECM) > http://www.nuxeo.com/ - +33 1 40 33 79 87 - http://twitter.com/sfermigier > Join the Nuxeo Group on LinkedIn: http://linkedin.com/groups?gid=43314 > New Nuxeo release: http://nuxeo.com/dm54 > "There's no such thing as can't. You always have a choice." >
