def update_memory(user, unit, component=None, project=None): component = component or unit.translation.component project = project or component.project params = { "source_language": get_machinery_language(component.source_language), "target_language": get_machinery_language(unit.translation.language), "source": unit.source, "target": unit.target, "origin": component.full_slug, } Memory.objects.update_entry(user=None, project=project, from_file=False, shared=False, **params) if project.contribute_shared_tm: Memory.objects.update_entry(user=None, project=None, from_file=False, shared=True, **params) if user: Memory.objects.update_entry(user=user, project=None, from_file=False, shared=False, **params)
def update_memory(user, unit, component=None, project=None): component = component or unit.translation.component project = project or component.project params = { "source_language": get_machinery_language(component.source_language), "target_language": get_machinery_language(unit.translation.language), "source": unit.source, "target": unit.target, "origin": component.full_slug, } add_project = True add_shared = project.contribute_shared_tm add_user = user is not None # Check matching entries in memory for matching in Memory.objects.filter(from_file=False, **params): if ( matching.user_id is None and matching.project_id == project.id and not matching.shared ): add_project = False elif ( add_shared and matching.user_id is None and matching.project_id is None and matching.shared ): add_shared = False elif ( add_user and matching.user_id == user.id and matching.project_id is None and not matching.shared ): add_user = False to_create = [] if add_project: to_create.append( Memory(user=None, project=project, from_file=False, shared=False, **params) ) if add_shared: to_create.append( Memory(user=None, project=None, from_file=False, shared=True, **params) ) if add_user: to_create.append( Memory(user=user, project=None, from_file=False, shared=False, **params) ) if to_create: Memory.objects.bulk_create(to_create)
def convert_language(self, language): """No conversion of language object.""" return get_machinery_language(language)