[ https://issues.apache.org/jira/browse/SOLR-216?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12525590 ]
Ed Summers commented on SOLR-216: --------------------------------- Thanks guys for this really nice update. I was wrestling with the current solr.py in svn and solr v1.2, and then remembered seeing something on the list about an updated solr client for python. Anyhow, I was running some unicode through add() in the latest solr.py attached to this issue and noticed that the body isn't being encoded before sending off to httplib.HTTPConnection.request() on line 711: self.conn.request('POST', url, body, headers) This can result in a stack trace like this when sending utf8 over the wire: Traceback (most recent call last): File "./solr_index.py", line 25, in <module> solr.add_many([solr_doc]) File "../../../wdl/solr.py", line 587, in add_many return self._update(xstr) File "../../../wdl/solr.py", line 653, in _update request, self.xmlheaders) File "../../../wdl/solr.py", line 711, in _post self.conn.request('POST', url, body, headers) File "/usr/lib/python2.5/httplib.py", line 862, in request self._send_request(method, url, body, headers) File "/usr/lib/python2.5/httplib.py", line 888, in _send_request self.send(body) File "/usr/lib/python2.5/httplib.py", line 707, in send self.sock.sendall(str) File "<string>", line 1, in sendall UnicodeEncodeError: 'ascii' codec can't encode character u'\u0302' in position 85: ordinal not in range(128) Changing line 711 to: self.conn.request('POST', url, body.encode('utf-8'), headers) makes the problem go away... > Improvements to solr.py > ----------------------- > > Key: SOLR-216 > URL: https://issues.apache.org/jira/browse/SOLR-216 > Project: Solr > Issue Type: Improvement > Components: clients - python > Affects Versions: 1.2 > Reporter: Jason Cater > Assignee: Mike Klaas > Priority: Trivial > Attachments: solr.py, solr.py > > > I've taken the original solr.py code and extended it to include higher-level > functions. > * Requires python 2.3+ > * Supports SSL (https://) schema > * Conforms (mostly) to PEP 8 -- the Python Style Guide > * Provides a high-level results object with implicit data type conversion > * Supports batching of update commands -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.