Exemplo n.º 1
0
 def create_suggestions(self, original, new):
     iterations = len(original) * len(new)
     # If it's not over the limit, then do it
     if iterations < settings.MAX_STRING_ITERATIONS:
         for se in original:
             for ne in new:
                 try:
                     old_trans = Translation.objects.get(
                         source_entity=se,
                         language=se.resource.source_language,
                         rule=5)
                     new_trans = Translation.objects.get(
                         source_entity=ne,
                         language=se.resource.source_language,
                         rule=5)
                 except Translation.DoesNotExist:
                     # Source language translation should always exist
                     # but just in case...
                     continue
                 # find Levenshtein distance
                 if percent_diff(
                         old_trans.string,
                         new_trans.string) < settings.MAX_STRING_DISTANCE:
                     self._convert_to_suggestions(se, ne, self.user)
                     break
Exemplo n.º 2
0
 def create_suggestions(self, original, new):
     iterations = len(original)*len(new)
     # If it's not over the limit, then do it
     if iterations < settings.MAX_STRING_ITERATIONS:
         for se in original:
             for ne in new:
                 try:
                     old_trans = Translation.objects.get(source_entity=se,
                         language=se.resource.source_language, rule=5)
                     new_trans = Translation.objects.get(source_entity=ne,
                         language=se.resource.source_language, rule=5)
                 except Translation.DoesNotExist:
                     # Source language translation should always exist
                     # but just in case...
                     continue
                 # find Levenshtein distance
                 if percent_diff(old_trans.string, new_trans.string) < settings.MAX_STRING_DISTANCE:
                     self._convert_to_suggestions(se, ne, self.user)
                     break
Exemplo n.º 3
0
                iterations = len(original_sources)*len(new_entities)
                # If it's not over the limit, then do it
                if iterations < settings.MAX_STRING_ITERATIONS:
                    for se in original_sources:
                        for ne in new_entities:
                            try:
                                old_trans = Translation.objects.get(source_entity=se,
                                    language=se.resource.source_language, rule=5)
                                new_trans = Translation.objects.get(source_entity=ne,
                                    language=se.resource.source_language, rule=5)
                            except Translation.DoesNotExist:
                                # Source language translation should always exist
                                # but just in case...
                                continue
                            # find Levenshtein distance
                            if percent_diff(old_trans.string, new_trans.string) < settings.MAX_STRING_DISTANCE:
                                convert_to_suggestions(se, ne, user)
                                break

                        se.delete()
                else:
                    for se in original_sources:
                        se.delete()

            for j in self.suggestions.strings:
                # Check SE existence
                try:
                    se = SourceEntity.objects.get(
                        string = j.source_entity,
                        context = j.context or "None",
                        resource = self.resource