diff --git a/ccplugin.py b/ccplugin.py index f69eb7eca7c06b9bbf027641857d60fddfc77623_Y2NwbHVnaW4ucHk=..cc6df274a4ca975f55875e6618dd723fba8a002f_Y2NwbHVnaW4ucHk= 100644 --- a/ccplugin.py +++ b/ccplugin.py @@ -25,7 +25,7 @@ # TODO optimisation : json serialize on one side, send to ES on the other # TODO progress bar -def bulk_actions(rset, index_name, etype): +def bulk_actions(rset, index_name, etype, dry_run=False): for entity in rset.entities(): serializer = entity.cw_adapt_to('ISerializable') json = serializer.serialize() @@ -29,12 +29,13 @@ for entity in rset.entities(): serializer = entity.cw_adapt_to('ISerializable') json = serializer.serialize() - yield {'_op_type': 'index', - '_index': index_name, - '_type': etype, - '_id': entity.eid, - '_source': json - } + if not dry_run: + yield {'_op_type': 'index', + '_index': index_name, + '_type': etype, + '_id': entity.eid, + '_source': json + } class IndexInES(Command): @@ -82,12 +83,13 @@ if self.config.debug: print(u'indexing {} {}'.format(etype, len(rset))) if self.config.bulk: - # success, failed = bulk(es, bulk_actions(rset, index_name, etype)) - # if self.config.debug: - # print(u'ES bulk : {} success {} failed'.format(success, failed)) - list(parallel_bulk(es, bulk_actions(rset, index_name, etype), - raise_on_error=False, - raise_on_exception=False)) + for x in parallel_bulk(es, bulk_actions(rset, + index_name, + etype, + dry_run=self.config.dry_run), + raise_on_error=False, + raise_on_exception=False): + pass else: for entity in rset.entities(): # TODO add specific IFTIES adapter