incubator-couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alexander Shorin <kxe...@gmail.com>
Subject Re: bulk update failing when document has attachments?
Date Wed, 11 Dec 2013 11:01:43 GMT
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 <gonvaled@gonvaled.com> 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

Mime
View raw message