def update_from_unit(self, translation, unit, pos, template=None): """ Process translation toolkit unit and stores/updates database entry. """ if template is None: src = get_source(unit) ctx = get_context(unit) else: src = get_target(template) ctx = get_context(template) checksum = msg_checksum(src, ctx) # Try getting existing unit from weblate.trans.models import Unit dbunit = None try: dbunit = self.get(translation=translation, checksum=checksum) force = False except Unit.MultipleObjectsReturned: # Some inconsistency (possibly race condition), try to recover self.filter(translation=translation, checksum=checksum).delete() except Unit.DoesNotExist: pass # Create unit if it does not exist if dbunit is None: dbunit = Unit(translation=translation, checksum=checksum, source=src, context=ctx) force = True # Update all details dbunit.update_from_unit(unit, pos, force, template) # Return result return dbunit, force
def update_from_unit(self, translation, unit, pos): """ Process translation toolkit unit and stores/updates database entry. """ if hasattr(unit.source, "strings"): src = join_plural(unit.source.strings) else: src = unit.source ctx = unit.getcontext() checksum = msg_checksum(src, ctx) from weblate.trans.models import Unit dbunit = None try: dbunit = self.get(translation=translation, checksum=checksum) force = False except Unit.MultipleObjectsReturned: # Some inconsistency (possibly race condition), try to recover self.filter(translation=translation, checksum=checksum).delete() except Unit.DoesNotExist: pass if dbunit is None: dbunit = Unit(translation=translation, checksum=checksum, source=src, context=ctx) force = True dbunit.update_from_unit(unit, pos, force) return dbunit
def update_from_unit(self, translation, unit, pos): ''' Process translation toolkit unit and stores/updates database entry. ''' if hasattr(unit.source, 'strings'): src = join_plural(unit.source.strings) else: src = unit.source ctx = unit.getcontext() checksum = msg_checksum(src, ctx) # Try getting existing unit from weblate.trans.models import Unit dbunit = None try: dbunit = self.get( translation = translation, checksum = checksum) force = False except Unit.MultipleObjectsReturned: # Some inconsistency (possibly race condition), try to recover self.filter( translation = translation, checksum = checksum).delete() except Unit.DoesNotExist: pass # Create unit if it does not exist if dbunit is None: dbunit = Unit( translation = translation, checksum = checksum, source = src, context = ctx) force = True # Update all details dbunit.update_from_unit(unit, pos, force) # Return result return dbunit, force
def update_from_unit(self, translation, unit, pos, template=None): ''' Process translation toolkit unit and stores/updates database entry. ''' if template is None: src = get_source(unit) ctx = get_context(unit) else: src = get_target(template) ctx = get_context(template) checksum = msg_checksum(src, ctx) # Try getting existing unit from weblate.trans.models import Unit dbunit = None try: dbunit = self.get(translation=translation, checksum=checksum) force = False except Unit.MultipleObjectsReturned: # Some inconsistency (possibly race condition), try to recover self.filter(translation=translation, checksum=checksum).delete() except Unit.DoesNotExist: pass # Create unit if it does not exist if dbunit is None: dbunit = Unit(translation=translation, checksum=checksum, source=src, context=ctx) force = True # Update all details dbunit.update_from_unit(unit, pos, force, template) # Return result return dbunit, force