Ejemplo n.º 1
0
 def rebuild(self):
     memory = TranslationMemory()
     data = list(memory.searcher.documents())
     memory.empty()
     with memory.writer() as writer:
         for entry in data:
             writer.add_document(**entry)
Ejemplo n.º 2
0
    def handle(self, *args, **options):
        """Translation memory import."""
        langmap = None
        if options['language_map']:
            langmap = {
                x: y for (x, y) in (
                    z.split(':', 1) for z in options['language_map'].split(',')
                )
            }

        memory = TranslationMemory()
        if options['file'].name.lower().endswith('.tmx'):
            memory.import_tmx(options['file'], langmap)
        elif options['file'].name.lower().endswith('.json'):
            try:
                data = json.load(options['file'])
            except ValueError:
                raise CommandError('Failed to parse JSON file!')
            finally:
                options['file'].close()
            with memory.writer() as writer:
                for entry in data:
                    writer.add_document(**entry)
        else:
            raise CommandError(
                'Unsupported file, needs .json or .tmx extension'
            )
Ejemplo n.º 3
0
 def rebuild(self):
     memory = TranslationMemory()
     data = list(memory.searcher.documents())
     memory.empty()
     with memory.writer() as writer:
         for entry in data:
             writer.add_document(**entry)
Ejemplo n.º 4
0
def update_memory_task(self, *args, **kwargs):
    def fixup_strings(data):
        result = {}
        for key, value in data.items():
            if isinstance(value, int):
                result[key] = value
            else:
                result[key] = force_text(value)
        return result

    data = extract_batch_kwargs(*args, **kwargs)

    memory = TranslationMemory()
    try:
        with memory.writer() as writer:
            for item in data:
                writer.add_document(**fixup_strings(item))
    except LockError as exc:
        raise self.retry(exc=exc)
Ejemplo n.º 5
0
def update_memory_task(self, *args, **kwargs):
    def fixup_strings(data):
        result = {}
        for key, value in data.items():
            if isinstance(value, int):
                result[key] = value
            else:
                result[key] = force_text(value)
        return result

    data = extract_batch_kwargs(*args, **kwargs)

    memory = TranslationMemory()
    try:
        with memory.writer() as writer:
            for item in data:
                writer.add_document(**fixup_strings(item))
    except LockError:
        # Manually handle retries, it doesn't work
        # with celery-batches
        sleep(10)
        for unit in data:
            update_memory_task.delay(**unit)
Ejemplo n.º 6
0
 def add_document(self):
     memory = TranslationMemory()
     with memory.writer() as writer:
         writer.add_document(**TEST_DOCUMENT)