Remove api DI argument on update_docs and update_imported_docs tasks

Explicitley use a specific API version. That makes the code less confusing.
front-end-standardization
Gregor Müllegger 2015-07-21 14:48:12 +02:00
parent e1adee2577
commit d4c87f6da1
1 changed files with 14 additions and 24 deletions

View File

@ -51,7 +51,7 @@ HTML_ONLY = getattr(settings, 'HTML_ONLY_PROJECTS', ())
@restoring_chdir
def update_docs(pk, version_pk=None, build_pk=None, record=True, docker=False,
search=True, force=False, intersphinx=True, localmedia=True,
api=None, basic=False, **kwargs):
basic=False, **kwargs):
"""
The main entry point for updating documentation.
@ -67,16 +67,9 @@ def update_docs(pk, version_pk=None, build_pk=None, record=True, docker=False,
from the shell, for example.
"""
# Dependency injection to allow for testing
if api is None:
api = api_v1
apiv2 = api_v2
else:
apiv2 = api
start_time = datetime.datetime.utcnow()
try:
project_data = api.project(pk).get()
project_data = api_v1.project(pk).get()
except HttpClientError:
log.exception(LOG_TEMPLATE.format(project=pk, version='', msg='Failed to get project data on build. Erroring.'))
project = make_api_project(project_data)
@ -86,31 +79,31 @@ def update_docs(pk, version_pk=None, build_pk=None, record=True, docker=False,
return
else:
log.info(LOG_TEMPLATE.format(project=project.slug, version='', msg='Building'))
version = ensure_version(api, project, version_pk)
version = ensure_version(api_v1, project, version_pk)
build = create_build(build_pk)
results = {}
# Build Servery stuff
try:
record_build(api=api, build=build, record=record, results=results, state='cloning')
vcs_results = setup_vcs(version, build, api)
record_build(api=api_v1, build=build, record=record, results=results, state='cloning')
vcs_results = setup_vcs(version, build, api_v1)
if vcs_results:
results.update(vcs_results)
if project.documentation_type == 'auto':
update_documentation_type(version, apiv2)
update_documentation_type(version, api_v2)
if docker or settings.DOCKER_ENABLE:
record_build(api=api, build=build, record=record, results=results, state='building')
record_build(api=api_v1, build=build, record=record, results=results, state='building')
docker = DockerEnvironment(version)
build_results = docker.build()
results.update(build_results)
else:
record_build(api=api, build=build, record=record, results=results, state='installing')
record_build(api=api_v1, build=build, record=record, results=results, state='installing')
setup_results = setup_environment(version)
results.update(setup_results)
record_build(api=api, build=build, record=record, results=results, state='building')
record_build(api=api_v1, build=build, record=record, results=results, state='building')
build_results = build_docs(version, force, search, localmedia)
results.update(build_results)
@ -130,8 +123,8 @@ def update_docs(pk, version_pk=None, build_pk=None, record=True, docker=False,
version=version.slug, msg="Top-level Build Failure"), exc_info=True)
results['checkout'] = (404, "", 'Top-level Build Failure: %s' % e.message)
finally:
record_build(api=api, build=build, record=record, results=results, state='finished', start_time=start_time)
record_pdf(api=api, record=record, results=results, state='finished', version=version)
record_build(api=api_v1, build=build, record=record, results=results, state='finished', start_time=start_time)
record_pdf(api=api_v1, record=record, results=results, state='finished', version=version)
log.info(LOG_TEMPLATE.format(project=version.project.slug, version='', msg='Build finished'))
build_id = build.get('id')
@ -218,14 +211,11 @@ def setup_vcs(version, build, api):
@task()
def update_imported_docs(version_pk, api=None):
def update_imported_docs(version_pk):
"""
Check out or update the given project's repository.
"""
if api is None:
api = api_v1
version_data = api.version(version_pk).get()
version_data = api_v1.version(version_pk).get()
version = make_api_version(version_data)
project = version.project
ret_dict = {}
@ -287,7 +277,7 @@ def update_imported_docs(version_pk, api=None):
]
try:
apiv2.project(project.pk).sync_versions.post(version_post_data)
api_v2.project(project.pk).sync_versions.post(version_post_data)
except Exception, e:
print "Sync Versions Exception: %s" % e.message
return ret_dict