def sync_index_many(sender, instance, **kwargs): try: if settings.LIVE_INDEX: if kwargs.get('model') == Lexeme and kwargs.get('pk_set'): index_entries( [Lexeme.objects.get(pk=pk) for pk in kwargs.get('pk_set')] ) else: index_entries(instance.get_lexemes()) except AttributeError: print('unindexable type', sender)
def post(self, request, format=None): serializer = TBXFileSerializer(request.POST, files=request.FILES) if serializer.is_valid(): logger.debug("Got TBX file, starting import") settings.LIVE_INDEX = False new_lexemes = [] try: import_tbx( serializer.object['file'], collction_name=serializer.object['collection'], new_lexemes=new_lexemes) except Exception as e: logger.exception("Error importing TBX file") return Response("Error importing TBX file: {}".format(e), status=HTTP_400_BAD_REQUEST) finally: settings.LIVE_INDEX = True #rebuild_index() index_entries(new_lexemes) return Response("Successfully uploaded TBX file", status=HTTP_202_ACCEPTED) else: return Response(serializer.errors, status=HTTP_400_BAD_REQUEST)
def sync_index(sender, instance, created, **kwargs): try: if settings.LIVE_INDEX: index_entries(instance.get_lexemes()) except AttributeError: print('unindexable type', sender)