Пример #1
0
def cmd_sync_translation(config, input_file, yes):
    acc_id = config.active.id
    acc_name = config.active.name
    if not config.silent:
        click.secho(f'Current active account: {acc_id} - {acc_name}\n',
                    fg='blue')

    if '.xlsx' not in input_file:
        input_file = f'{input_file}/{input_file}.xlsx'

    client = ConnectClient(
        api_key=config.active.api_key,
        endpoint=config.active.endpoint,
        use_specs=False,
        max_retries=3,
        logger=RequestLogger() if config.verbose else None,
    )
    stats = SynchronizerStats()

    translation_sync = TranslationSynchronizer(client, config.silent, acc_id,
                                               stats)
    translation_sync.open(input_file)
    translation_id, should_wait_for_autotranslation = translation_sync.sync(
        yes)
    translation_sync.save(input_file)

    if translation_id:
        if should_wait_for_autotranslation:
            wait_for_autotranslation(client,
                                     translation_id,
                                     silent=config.silent)
        attributes_sync = TranslationAttributesSynchronizer(
            client, config.silent, stats)
        attributes_sync.open(input_file, 'Attributes')
        attributes_sync.sync(translation_id)
        attributes_sync.save(input_file)

    if not config.silent:
        stats.print()
def translation_attributes_sync(worksheet, translation, client, config, input_file, stats, save, is_clone):
    synchronizer = TranslationAttributesSynchronizer(client, config.silent, stats)
    synchronizer.open(input_file, worksheet)
    synchronizer.sync(translation, is_clone)
    if save:
        synchronizer.save(input_file)