Skip to content

Commit 2af1906

Browse files
committed
Check for self.build
1 parent 04366c1 commit 2af1906

File tree

1 file changed

+19
-12
lines changed

1 file changed

+19
-12
lines changed

readthedocs/doc_builder/environments.py

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -790,13 +790,7 @@ def __init__(self, *args, **kwargs):
790790
super().__init__(*args, **kwargs)
791791
self.client = None
792792
self.container = None
793-
self.container_name = slugify(
794-
'build-{build}-project-{project_id}-{project_name}'.format(
795-
build=self.build.get('id') if self.build else '',
796-
project_id=self.project.pk,
797-
project_name=self.project.slug,
798-
)[:DOCKER_HOSTNAME_MAX_LEN],
799-
)
793+
self.container_name = self.get_container_name()
800794

801795
# Decide what Docker image to use, based on priorities:
802796
# Use the Docker image set by our feature flag: ``testing`` or,
@@ -908,6 +902,17 @@ def __exit__(self, exc_type, exc_value, tb):
908902

909903
return super().__exit__(exc_type, exc_value, tb)
910904

905+
def get_container_name(self):
906+
if self.build:
907+
name = 'build-{build}-project-{project_id}-{project_name}'.format(
908+
build=self.build.get('id'),
909+
project_id=self.project.pk,
910+
project_name=self.project.slug,
911+
)
912+
else:
913+
name = f'sync-project-{self.project.pk}-{self.project.slug}'
914+
return slugify(name)[:DOCKER_HOSTNAME_MAX_LEN],
915+
911916
def get_client(self):
912917
"""Create Docker client connection."""
913918
try:
@@ -929,11 +934,13 @@ def get_client(self):
929934
# We don't raise an error here mentioning Docker, that is a
930935
# technical detail that the user can't resolve on their own.
931936
# Instead, give the user a generic failure
932-
raise BuildEnvironmentError(
933-
BuildEnvironmentError.GENERIC_WITH_BUILD_ID.format(
934-
build_id=self.build.get('id') if self.build else '',
935-
),
936-
)
937+
if self.build:
938+
error = BuildEnvironmentError.GENERIC_WITH_BUILD_ID.format(
939+
build_id=self.build.get('id'),
940+
)
941+
else:
942+
error = 'Failed to connect to Docker API client'
943+
raise BuildEnvironmentError(error)
937944

938945
def _get_binds(self):
939946
"""

0 commit comments

Comments
 (0)