Hi, _attachments data should be valid base64 encoded string, while you have: > data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAM8AAADkCAIAAACwiOf9AAAAA3NCSVQICAjb4U/gAAAgAElEQVR4nO...
Chars : and , are invalid for base64. -- ,,,^..^,,, On Wed, Dec 11, 2013 at 2:49 PM, Daniel Gonzalez <[email protected]> wrote: > Hi, > > (SO reference: http://stackoverflow.com/q/20516980/647991. I post there > because formatting makes things much easier to read, replies / comments are > well organized, and the up/downvote mechanism works) > > I am performing the following operation: > > 1. Prepare some documents: `docs = [ doc1, doc2, ... ]`. The documents have > *maybe* attachments > 2. I `POST` to `_bulk_docs` the list of documents > 3. I get an `Exception > Problems updating list of documents (length = 1): > (500, ('badarg', '58'))` > > My `bulk_docs` is (in this case just one): > > [ { '_attachments': { 'image.png': { 'content_type': > 'image/png', > 'data': > 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAM8AAADkCAIAAACwiOf9AAAAA3NCSVQICAjb4U/gAAAgAElEQVR4nO...'}}, > '_id': '08b8fc66-cd90-47a1-9053-4f6fefabdfe3', > '_rev': '15-ff3d0e8baa56e5ad2fac4937264fb3f6', > 'docmeta': { 'created': '2013-10-01 14:48:24.311257', > 'updated': [ '2013-10-01 14:48:24.394157', > '2013-12-11 08:19:47.271812', > '2013-12-11 08:25:05.662546', > '2013-12-11 10:38:56.116145']}, > 'org_id': 45345, > 'outputs_id': None, > 'properties': { 'auto-t2s': False, > 'content_type': 'image/png', > 'lang': 'es', > 'name': 'dfasdfasdf', > 'text': 'erwerwerwrwerwr'}, > 'subtype': 'voicemail-st', > 'tags': ['RRR-ccc-dtjkqx'], > 'type': 'recording'}] > > This is the detailed exception: > > Traceback (most recent call last): > File "portal_support_ut.py", line 470, in test_UpdateDoc > self.ps.UpdateDoc(self.org_id, what, doc_id, new_data) > File > "/home/gonvaled/projects/new-wavilon-portal/python_modules/wav/ps/complex_ops.py", > line 349, in UpdateDoc > success, doc = database.UpdateDoc(doc_id, new_data) > File > "/home/gonvaled/projects/new-wavilon-portal/python_modules/wav/cdb/core/updater.py", > line 38, in UpdateDoc > res = self.SaveDoc(doc_id, doc) > File > "/home/gonvaled/projects/new-wavilon-portal/python_modules/wav/cdb/core/saver.py", > line 88, in SaveDoc > else : self.bulk_append(doc, flush, update_revision) > File > "/home/gonvaled/projects/new-wavilon-portal/python_modules/wav/cdb/core/bulker.py", > line 257, in bulk_append > if force_send or flush or not self.timer.use_timer : > self.BulkSend(show_progress=True) > File > "/home/gonvaled/projects/new-wavilon-portal/python_modules/wav/cdb/core/bulker.py", > line 144, in BulkSend > results = self.UpdateDocuments(self.bulk) > File > "/home/gonvaled/projects/new-wavilon-portal/python_modules/wav/cdb/core/bulker.py", > line 67, in UpdateDocuments > results = self.db.update(bulkdocs) > File > "/home/gonvaled/.virtualenvs/python2.7.3-wavilon1/local/lib/python2.7/site-packages/couchdb/client.py", > line 764, in update > _, _, data = self.resource.post_json('_bulk_docs', body=content) > File > "/home/gonvaled/.virtualenvs/python2.7.3-wavilon1/local/lib/python2.7/site-packages/couchdb/http.py", > line 527, in post_json > **params) > File > "/home/gonvaled/.virtualenvs/python2.7.3-wavilon1/local/lib/python2.7/site-packages/couchdb/http.py", > line 546, in _request_json > headers=headers, **params) > File > "/home/gonvaled/.virtualenvs/python2.7.3-wavilon1/local/lib/python2.7/site-packages/couchdb/http.py", > line 542, in _request > credentials=self.credentials) > File > "/home/gonvaled/.virtualenvs/python2.7.3-wavilon1/local/lib/python2.7/site-packages/couchdb/http.py", > line 398, in request > raise ServerError((status, error)) > ServerError: (500, ('badarg', '58')) > > > What does that `badarg` mean? Is it possible to send attachments when doing > `_bulk_docs`? > > Thanks, > Daniel
