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)
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())
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)
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())
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())