Beispiel #1
0
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)
Beispiel #2
0
 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)
Beispiel #3
0
def sync_index(sender, instance, created, **kwargs):
    try:
        if settings.LIVE_INDEX:
            index_entries(instance.get_lexemes())
    except AttributeError:
        print('unindexable type', sender)