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."
