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

Reply via email to