示例#1
0
    def handle(self, *args, **options):
        record = options['record']
        force = options['force']
        version = options['version']
        if args:
            for slug in args:
                if version and version != "all":
                    log.info("Updating version %s for %s", version, slug)
                    for version in Version.objects.filter(project__slug=slug,
                                                          slug=version):
                        trigger_build(project=version.project, version=version)
                elif version == "all":
                    log.info("Updating all versions for %s", slug)
                    for version in Version.objects.filter(project__slug=slug,
                                                          active=True,
                                                          uploaded=False):

                        build_pk = None
                        if record:
                            build = Build.objects.create(
                                project=version.project,
                                version=version,
                                type='html',
                                state='triggered',
                            )
                            build_pk = build.pk

                        tasks.UpdateDocsTask().run(pk=version.project_id,
                                                   build_pk=build_pk,
                                                   record=record,
                                                   version_pk=version.pk)
                else:
                    p = Project.all_objects.get(slug=slug)
                    log.info("Building %s", p)
                    trigger_build(project=p, force=force, record=record)
        else:
            if version == "all":
                log.info("Updating all versions")
                for version in Version.objects.filter(active=True,
                                                      uploaded=False):
                    tasks.UpdateDocsTask().run(pk=version.project_id,
                                               record=record,
                                               force=force,
                                               version_pk=version.pk)
            else:
                log.info("Updating all docs")
                for project in Project.objects.all():
                    tasks.UpdateDocsTask().run(pk=project.pk,
                                               record=record,
                                               force=force)
示例#2
0
 def test_update_docs(self):
     with mock_api(self.repo):
         update_docs = tasks.UpdateDocsTask()
         result = update_docs.delay(self.project.pk,
                                    record=False,
                                    intersphinx=False)
     self.assertTrue(result.successful())
示例#3
0
 def handle(self, *args, **options):
     docker = options.get('docker', False)
     for slug in options['projects']:
         project_data = api.project(slug).get()
         p = APIProject(**project_data)
         log.info("Building %s", p)
         update_docs = tasks.UpdateDocsTask()
         update_docs.run(pk=p.pk, docker=docker)
示例#4
0
 def test_update_docs(self):
     build = get(Build, project=self.project,
                 version=self.project.versions.first())
     with mock_api(self.repo) as mapi:
         update_docs = tasks.UpdateDocsTask()
         result = update_docs.delay(
             self.project.pk,
             build_pk=build.pk,
             record=False,
             intersphinx=False)
     self.assertTrue(result.successful())
示例#5
0
 def test_update_docs_unexpected_setup_exception(self, mock_setup_vcs):
     exc = Exception()
     mock_setup_vcs.side_effect = exc
     build = get(Build, project=self.project,
                 version=self.project.versions.first())
     with mock_api(self.repo) as mapi:
         update_docs = tasks.UpdateDocsTask()
         result = update_docs.delay(
             self.project.pk,
             build_pk=build.pk,
             record=False,
             intersphinx=False)
     self.assertTrue(result.successful())