コード例 #1
0
ファイル: tests.py プロジェクト: daleathan/weblate
 def test_creation(self):
     addon = DiscoveryAddon.create(
         self.component,
         configuration={
             'file_format': 'po',
             'match': r'(?P<component>[^/]*)/(?P<language>[^/]*)\.po',
             'name_template': '{{ component|title }}',
             'language_regex': '^(?!xx).*$',
             'base_file_template': '',
             'remove': True,
         },
     )
     self.assertEqual(self.component.get_linked_childs().count(), 0)
     addon.perform()
     self.assertEqual(self.component.get_linked_childs().count(), 3)
コード例 #2
0
ファイル: tests.py プロジェクト: zzazang/weblate
 def test_creation(self):
     link = self.component.get_repo_link_url()
     self.assertEqual(Component.objects.filter(repo=link).count(), 0)
     addon = DiscoveryAddon.create(
         self.component,
         configuration={
             "file_format": "po",
             "match": r"(?P<component>[^/]*)/(?P<language>[^/]*)\.po",
             "name_template": "{{ component|title }}",
             "language_regex": "^(?!xx).*$",
             "base_file_template": "",
             "remove": True,
         },
     )
     self.assertEqual(Component.objects.filter(repo=link).count(), 3)
     addon.post_update(self.component, "")
     self.assertEqual(Component.objects.filter(repo=link).count(), 3)
コード例 #3
0
ファイル: tests.py プロジェクト: websightnl/weblate
 def test_creation(self):
     link = self.component.get_repo_link_url()
     self.assertEqual(Component.objects.filter(repo=link).count(), 0)
     addon = DiscoveryAddon.create(
         self.component,
         configuration={
             'file_format': 'po',
             'match': r'(?P<component>[^/]*)/(?P<language>[^/]*)\.po',
             'name_template': '{{ component|title }}',
             'language_regex': '^(?!xx).*$',
             'base_file_template': '',
             'remove': True,
         },
     )
     self.assertEqual(Component.objects.filter(repo=link).count(), 3)
     addon.post_update(self.component, '')
     self.assertEqual(Component.objects.filter(repo=link).count(), 3)
コード例 #4
0
    def handle(self, *args, **options):
        # Create project
        project = Project.objects.create(
            name="Demo", slug="demo", web="https://demo.weblate.org/"
        )

        # Create main component
        component = Component.objects.create(
            name="Gettext",
            slug="gettext",
            project=project,
            vcs="git",
            repo="https://github.com/WeblateOrg/demo.git",
            repoweb=(
                "https://github.com/WeblateOrg/weblate/"
                "blob/{{branch}}/{{filename}}#L{{line}}"
            ),
            filemask="weblate/langdata/locale/*/LC_MESSAGES/django.po",
            new_base="weblate/langdata/locale/django.pot",
            file_format="po",
            license="GPL-3.0-or-later",
        )
        while component.in_progress():
            self.stdout.write(
                "Importing base component: {}%".format(component.get_progress()[0])
            )
            sleep(1)
        component.clean()

        # Install discovery
        DiscoveryAddon.create(
            component,
            configuration={
                "file_format": "po",
                "match": (
                    r"weblate/locale/(?P<language>[^/]*)/"
                    r"LC_MESSAGES/(?P<component>[^/]*)\.po"
                ),
                "name_template": "Discovered: {{ component|title }}",
                "language_regex": "^[^.]+$",
                "base_file_template": "",
                "remove": True,
            },
        )

        # Manually add Android
        Component.objects.create(
            name="Android",
            slug="android",
            project=project,
            vcs="git",
            repo=component.get_repo_link_url(),
            filemask="app/src/main/res/values-*/strings.xml",
            template="app/src/main/res/values/strings.xml",
            file_format="aresource",
            license="GPL-3.0-or-later",
        )

        for i in range(options["additional"]):
            Component.objects.create(
                name=f"Additional {i}",
                slug=f"additional-{i}",
                project=project,
                vcs="git",
                repo=component.get_repo_link_url(),
                filemask="weblate/langdata/locale/*/LC_MESSAGES/django.po",
                new_base="weblate/langdata/locale/django.pot",
                file_format="po",
                license="GPL-3.0-or-later",
            )