Skip to content

Commit ab7a30c

Browse files
committed
Address review feedback
1 parent 021e12d commit ab7a30c

File tree

8 files changed

+38
-34
lines changed

8 files changed

+38
-34
lines changed

readthedocs/projects/tasks.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@
6060
)
6161
from readthedocs.doc_builder.loader import get_builder_class
6262
from readthedocs.doc_builder.python_environments import Conda, Virtualenv
63-
from readthedocs.domaindata.models import DomainData
63+
from readthedocs.sphinx_domains.models import SphinxDomain
6464
from readthedocs.projects.models import APIProject
6565
from readthedocs.restapi.client import api as api_v2
6666
from readthedocs.vcs_support import utils as vcs_support_utils
@@ -1160,7 +1160,8 @@ def _update_intersphinx_data(version, path, commit):
11601160
"""
11611161
object_file = os.path.join(path, 'objects.inv')
11621162

1163-
# These classes are from copied from Sphinx tests
1163+
# These classes are from copied from Sphinx
1164+
# https://git.io/fhFbI
11641165
class MockConfig:
11651166
intersphinx_timeout = None
11661167
tls_verify = False
@@ -1173,16 +1174,18 @@ def warn(self, msg):
11731174
log.warning('Sphinx MockApp: %s', msg)
11741175

11751176
invdata = intersphinx.fetch_inventory(MockApp(), '', object_file)
1176-
for key in sorted(invdata or {}):
1177+
for key, value in sorted(invdata.items() or {}):
11771178
domain, _type = key.split(':')
1178-
for name, einfo in sorted(invdata[key].items()):
1179+
for name, einfo in sorted(value.items()):
1180+
# project, version, url, display_name
1181+
# ('Sphinx', '1.7.9', 'faq.html#epub-faq', 'Epub info')
11791182
url = einfo[2]
11801183
if '#' in url:
11811184
doc_name, anchor = url.split('#')
11821185
else:
11831186
doc_name, anchor = url, ''
11841187
display_name = einfo[3]
1185-
obj, _ = DomainData.objects.get_or_create(
1188+
obj, _ = SphinxDomain.objects.get_or_create(
11861189
project=version.project,
11871190
version=version,
11881191
domain=domain,
@@ -1195,9 +1198,9 @@ def warn(self, msg):
11951198
if obj.commit != commit:
11961199
obj.commit = commit
11971200
obj.save()
1198-
DomainData.objects.filter(project=version.project,
1199-
version=version
1200-
).exclude(commit=commit).delete()
1201+
SphinxDomain.objects.filter(project=version.project,
1202+
version=version
1203+
).exclude(commit=commit).delete()
12011204

12021205

12031206
def _manage_imported_files(version, path, commit):

readthedocs/restapi/urls.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
SocialAccountViewSet,
2626
VersionViewSet,
2727
)
28-
from readthedocs.domaindata.api import DomainDataAPIView
28+
from readthedocs.sphinx_domains.api import SphinxDomainAPIView
2929

3030

3131
router = routers.DefaultRouter()
@@ -35,7 +35,7 @@
3535
router.register(r'project', ProjectViewSet, basename='project')
3636
router.register(r'notification', NotificationViewSet, basename='emailhook')
3737
router.register(r'domain', DomainViewSet, basename='domain')
38-
router.register(r'domaindata', DomainDataAPIView, base_name='domaindata')
38+
router.register(r'sphinx_domains', SphinxDomainAPIView, base_name='sphinx_domains')
3939
router.register(
4040
r'remote/org',
4141
RemoteOrganizationViewSet,

readthedocs/rtd_tests/tests/test_privacy_urls.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -364,7 +364,7 @@ def setUp(self):
364364
'api_webhook_gitlab': {'status_code': 405},
365365
'api_webhook_bitbucket': {'status_code': 405},
366366
'api_webhook_generic': {'status_code': 403},
367-
'domaindata-detail': {'status_code': 404},
367+
'sphinx_domains-detail': {'status_code': 404},
368368
'remoteorganization-detail': {'status_code': 404},
369369
'remoterepository-detail': {'status_code': 404},
370370
'remoteaccount-detail': {'status_code': 404},

readthedocs/settings/base.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ def INSTALLED_APPS(self): # noqa
103103
'readthedocs.notifications',
104104
'readthedocs.integrations',
105105
'readthedocs.analytics',
106-
'readthedocs.domaindata',
106+
'readthedocs.sphinx_domains',
107107
'readthedocs.search',
108108

109109

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
"""Domain Admin classes."""
22
from django.contrib import admin
33

4-
from .models import DomainData
4+
from .models import SphinxDomain
55

66

7-
class DomainDataAdmin(admin.ModelAdmin):
7+
class SphinxDomainAdmin(admin.ModelAdmin):
88
list_filter = ('type', 'project')
99
raw_id_fields = ('project', 'version')
1010
search_fields = ('doc_name', 'name')
1111

1212

13-
admin.site.register(DomainData, DomainDataAdmin)
13+
admin.site.register(SphinxDomain, SphinxDomainAdmin)

readthedocs/domaindata/api.py renamed to readthedocs/sphinx_domains/api.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,35 +4,35 @@
44

55
from readthedocs.restapi.views.model_views import UserSelectViewSet
66

7-
from .models import DomainData
7+
from .models import SphinxDomain
88

99

10-
class DomainDataSerializer(serializers.ModelSerializer):
10+
class SphinxDomainSerializer(serializers.ModelSerializer):
1111
project = serializers.SlugRelatedField(slug_field='slug', read_only=True)
1212
version = serializers.SlugRelatedField(slug_field='slug', read_only=True)
1313

1414
class Meta:
15-
model = DomainData
15+
model = SphinxDomain
1616
fields = (
1717
'project',
1818
'version',
1919
'name',
2020
'display_name',
21-
'doc_type',
22-
'doc_url',
21+
'role_name',
22+
'docs_url',
2323
)
2424

2525

26-
class DomainDataAdminSerializer(DomainDataSerializer):
26+
class SphinxDomainAdminSerializer(SphinxDomainSerializer):
2727

28-
class Meta(DomainDataSerializer.Meta):
28+
class Meta(SphinxDomainSerializer.Meta):
2929
fields = '__all__'
3030

3131

32-
class DomainDataAPIView(UserSelectViewSet): # pylint: disable=too-many-ancestors
33-
model = DomainData
34-
serializer_class = DomainDataSerializer
35-
admin_serializer_class = DomainDataAdminSerializer
32+
class SphinxDomainAPIView(UserSelectViewSet): # pylint: disable=too-many-ancestors
33+
model = SphinxDomain
34+
serializer_class = SphinxDomainSerializer
35+
admin_serializer_class = SphinxDomainAdminSerializer
3636
filter_fields = (
3737
'project__slug',
3838
'version__slug',

readthedocs/domaindata/models.py renamed to readthedocs/sphinx_domains/models.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
from readthedocs.projects.querysets import RelatedProjectQuerySet
1616

1717

18-
class DomainData(TimeStampedModel):
18+
class SphinxDomain(TimeStampedModel):
1919

2020
"""
2121
Information from a project about it's Sphinx domains.
@@ -25,14 +25,14 @@ class DomainData(TimeStampedModel):
2525

2626
project = models.ForeignKey(
2727
Project,
28-
related_name='domain_data',
28+
related_name='sphinx_domains',
2929
)
3030
version = models.ForeignKey(
3131
Version,
3232
verbose_name=_('Version'),
33-
related_name='domain_data',
33+
related_name='sphinx_domains',
3434
)
35-
commit = models.CharField(_('Commit'), max_length=255)
35+
commit = models.CharField(_('Commit'), max_length=255, null=True)
3636

3737
domain = models.CharField(
3838
_('Domain'),
@@ -62,16 +62,17 @@ class DomainData(TimeStampedModel):
6262

6363
def __str__(self):
6464
return f'''
65-
DomainData [{self.project.slug}:{self.version.slug}]
66-
[{self.domain}:{self.type}] {self.name} -> {self.doc_name}#{self.anchor}
65+
SphinxDomain [{self.project.slug}:{self.version.slug}]
66+
[{self.domain}:{self.type}] {self.name} ->
67+
{self.doc_name}#{self.anchor}
6768
'''
6869

6970
@property
70-
def doc_type(self):
71+
def role_name(self):
7172
return f'{self.domain}:{self.type}'
7273

7374
@property
74-
def doc_url(self):
75+
def docs_url(self):
7576
path = self.doc_name
7677
if self.anchor:
7778
path += f'#{self.anchor}'

0 commit comments

Comments
 (0)