def save(self, *args, **kwargs): # Renaming detection old = None if self.id: old = Project.objects.get(pk=self.id) # Detect slug changes and rename directory self.check_rename(old) # Rename linked repos if old.slug != self.slug: for component in old.component_set.iterator(): new_component = self.component_set.get(pk=component.pk) new_component.project = self component.linked_childs.update( repo=new_component.get_repo_link_url() ) self.create_path() super(Project, self).save(*args, **kwargs) # Reload components after source language change if old is not None and old.source_language != self.source_language: from weblate.trans.tasks import perform_load for component in self.component_set.iterator(): perform_load.delay(component.pk)
def save(self, *args, **kwargs): update_tm = self.contribute_shared_tm # Renaming detection old = None if self.id: old = Project.objects.get(pk=self.id) # Detect slug changes and rename directory self.check_rename(old) # Rename linked repos if old.slug != self.slug: for component in old.component_set.iterator(): new_component = self.component_set.get(pk=component.pk) new_component.project = self component.linked_childs.update( repo=new_component.get_repo_link_url()) update_tm = self.contribute_shared_tm and not old.contribute_shared_tm self.create_path() super().save(*args, **kwargs) # Reload components after source language change if old is not None and old.source_language != self.source_language: from weblate.trans.tasks import perform_load for component in self.component_set.iterator(): perform_load.delay(component.pk) # Update translation memory on enabled sharing if update_tm: transaction.on_commit(lambda: import_memory.delay(self.id))
def handle(self, *args, **options): langs = None if options['lang'] is not None: langs = options['lang'].split(',') for component in self.get_components(**options): perform_load.delay(component.pk, options['force'], langs)