Skip to content

Commit 2bea654

Browse files
authored
Querysets: remove private and for_project (#8158)
This aren't used, and I don't see them being used in the future. - private: there isn't a part of our code were we want to list all private versions, instead we may want to use `public(user)`. - for_project: this was listing all versions from a project and its translation. Not sure were we would want that, but isn't used.
1 parent 5f5ee22 commit 2bea654

File tree

4 files changed

+3
-175
lines changed

4 files changed

+3
-175
lines changed

readthedocs/builds/querysets.py

-17
Original file line numberDiff line numberDiff line change
@@ -48,16 +48,6 @@ def public(self, user=None, project=None, only_active=True,
4848
queryset = queryset.filter(hidden=False)
4949
return queryset.distinct()
5050

51-
def private(self, user=None, project=None, only_active=True):
52-
queryset = self.filter(privacy_level__in=[constants.PRIVATE])
53-
if user:
54-
queryset = self._add_user_repos(queryset, user)
55-
if project:
56-
queryset = queryset.filter(project=project)
57-
if only_active:
58-
queryset = queryset.filter(active=True)
59-
return queryset.distinct()
60-
6151
def api(self, user=None, detail=True):
6252
if detail:
6353
return self.public(user, only_active=False)
@@ -67,13 +57,6 @@ def api(self, user=None, detail=True):
6757
queryset = self._add_user_repos(queryset, user)
6858
return queryset.distinct()
6959

70-
def for_project(self, project):
71-
"""Return all versions for a project, including translations."""
72-
return self.filter(
73-
models.Q(project=project) |
74-
models.Q(project__main_language_project=project),
75-
)
76-
7760

7861
class VersionQuerySet(SettingsOverrideObject):
7962
_default_class = VersionQuerySetBase

readthedocs/projects/querysets.py

+1-12
Original file line numberDiff line numberDiff line change
@@ -168,18 +168,7 @@ def _add_user_repos(self, queryset, user=None):
168168
return queryset
169169

170170
def public(self, user=None, project=None):
171-
kwargs = {'%s__privacy_level' % self.project_field: constants.PUBLIC}
172-
queryset = self.filter(**kwargs)
173-
if user:
174-
queryset = self._add_user_repos(queryset, user)
175-
if project:
176-
queryset = queryset.filter(project=project)
177-
return queryset.distinct()
178-
179-
def private(self, user=None, project=None):
180-
kwargs = {
181-
'%s__privacy_level' % self.project_field: constants.PRIVATE,
182-
}
171+
kwargs = {f'{self.project_field}__privacy_level': constants.PUBLIC}
183172
queryset = self.filter(**kwargs)
184173
if user:
185174
queryset = self._add_user_repos(queryset, user)

readthedocs/rtd_tests/tests/test_privacy.py

+2-11
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import logging
2-
32
from unittest import mock
3+
44
from django.contrib.auth.models import User
55
from django.test import TestCase
66
from django.test.utils import override_settings
@@ -10,7 +10,6 @@
1010
from readthedocs.projects.forms import UpdateProjectForm
1111
from readthedocs.projects.models import Project
1212

13-
1413
log = logging.getLogger(__name__)
1514

1615

@@ -309,7 +308,7 @@ def test_public_download_filename(self):
309308
self.assertEqual(r._headers['x-accel-redirect'][1], '/proxito/media/htmlzip/django-kong/latest/django-kong.zip')
310309
self.assertEqual(r._headers['content-disposition'][1], 'filename=django-kong-readthedocs-io-en-latest.zip')
311310

312-
# Build Filtering
311+
# Build Filtering
313312

314313
def test_build_filtering(self):
315314
kong = self._create_kong('public', 'private')
@@ -331,11 +330,3 @@ def test_build_filtering(self):
331330
self.client.login(username='tester', password='test')
332331
r = self.client.get('/projects/django-kong/builds/')
333332
self.assertNotContains(r, 'test-slug')
334-
335-
def test_queryset_chaining(self):
336-
"""Test that manager methods get set on related querysets."""
337-
kong = self._create_kong('public', 'private')
338-
self.assertEqual(
339-
kong.versions.private().get(slug='latest').slug,
340-
'latest',
341-
)

readthedocs/rtd_tests/tests/test_version_querysets.py

-135
Original file line numberDiff line numberDiff line change
@@ -130,35 +130,6 @@ def test_public_project(self):
130130
self.assertEqual(query.count(), len(versions))
131131
self.assertEqual(set(query), versions)
132132

133-
def test_private(self):
134-
query = Version.objects.private()
135-
versions = {
136-
self.version_private,
137-
self.another_version_private,
138-
self.shared_version_private,
139-
}
140-
self.assertEqual(query.count(), len(versions))
141-
self.assertEqual(set(query), versions)
142-
143-
def test_private_user(self):
144-
query = Version.objects.private(user=self.user)
145-
versions = (
146-
self.user_versions |
147-
{self.another_version_private}
148-
)
149-
self.assertEqual(query.count(), len(versions))
150-
self.assertEqual(set(query), versions)
151-
152-
def test_private_project(self):
153-
query = Version.objects.private(user=self.user, project=self.project)
154-
versions = {
155-
self.version,
156-
self.version_latest,
157-
self.version_private,
158-
}
159-
self.assertEqual(query.count(), len(versions))
160-
self.assertEqual(set(query), versions)
161-
162133
def test_api(self):
163134
query = Version.objects.api()
164135
versions = {
@@ -178,22 +149,6 @@ def test_api_user(self):
178149
self.assertEqual(query.count(), len(versions))
179150
self.assertEqual(set(query), versions)
180151

181-
def test_for_project(self):
182-
self.another_project.main_language_project = self.project
183-
self.another_project.save()
184-
185-
query = Version.objects.for_project(self.project)
186-
versions = {
187-
self.version,
188-
self.version_latest,
189-
self.version_private,
190-
self.another_version,
191-
self.another_version_latest,
192-
self.another_version_private,
193-
}
194-
self.assertEqual(query.count(), len(versions))
195-
self.assertEqual(set(query), versions)
196-
197152

198153
class TestVersionQuerySetWithManagerBase(TestVersionQuerySetBase):
199154

@@ -303,35 +258,6 @@ def test_public_project(self):
303258
self.assertEqual(query.count(), len(versions))
304259
self.assertEqual(set(query), versions)
305260

306-
def test_private(self):
307-
query = Version.internal.private()
308-
versions = {
309-
self.version_private,
310-
self.another_version_private,
311-
self.shared_version_private,
312-
}
313-
self.assertEqual(query.count(), len(versions))
314-
self.assertEqual(set(query), versions)
315-
316-
def test_private_user(self):
317-
query = Version.internal.private(user=self.user)
318-
versions = (
319-
self.user_versions |
320-
{self.another_version_private}
321-
)
322-
self.assertEqual(query.count(), len(versions))
323-
self.assertEqual(set(query), versions)
324-
325-
def test_private_project(self):
326-
query = Version.internal.private(user=self.user, project=self.project)
327-
versions = {
328-
self.version,
329-
self.version_latest,
330-
self.version_private,
331-
}
332-
self.assertEqual(query.count(), len(versions))
333-
self.assertEqual(set(query), versions)
334-
335261
def test_api(self):
336262
query = Version.internal.api()
337263
versions = {
@@ -351,22 +277,6 @@ def test_api_user(self):
351277
self.assertEqual(query.count(), len(versions))
352278
self.assertEqual(set(query), versions)
353279

354-
def test_for_project(self):
355-
self.another_project.main_language_project = self.project
356-
self.another_project.save()
357-
358-
query = Version.internal.for_project(self.project)
359-
versions = {
360-
self.version,
361-
self.version_latest,
362-
self.version_private,
363-
self.another_version,
364-
self.another_version_latest,
365-
self.another_version_private,
366-
}
367-
self.assertEqual(query.count(), len(versions))
368-
self.assertEqual(set(query), versions)
369-
370280

371281
class VersionQuerySetWithExternalManagerTest(TestVersionQuerySetWithManagerBase):
372282

@@ -420,37 +330,6 @@ def test_public_project(self):
420330
self.assertEqual(query.count(), len(versions))
421331
self.assertEqual(set(query), versions)
422332

423-
def test_private(self):
424-
query = Version.external.private()
425-
versions = {
426-
self.external_version_private,
427-
self.another_external_version_private,
428-
self.shared_external_version_private,
429-
}
430-
self.assertEqual(query.count(), len(versions))
431-
self.assertEqual(set(query), versions)
432-
433-
def test_private_user(self):
434-
query = Version.external.private(user=self.user)
435-
versions = {
436-
self.external_version_public,
437-
self.external_version_private,
438-
self.another_external_version_private,
439-
self.shared_external_version_public,
440-
self.shared_external_version_private,
441-
}
442-
self.assertEqual(query.count(), len(versions))
443-
self.assertEqual(set(query), versions)
444-
445-
def test_private_project(self):
446-
query = Version.external.private(user=self.user, project=self.project)
447-
versions = {
448-
self.external_version_public,
449-
self.external_version_private,
450-
}
451-
self.assertEqual(query.count(), len(versions))
452-
self.assertEqual(set(query), versions)
453-
454333
def test_api(self):
455334
query = Version.external.api()
456335
versions = {
@@ -471,17 +350,3 @@ def test_api_user(self):
471350
}
472351
self.assertEqual(query.count(), len(versions))
473352
self.assertEqual(set(query), versions)
474-
475-
def test_for_project(self):
476-
self.another_project.main_language_project = self.project
477-
self.another_project.save()
478-
479-
query = Version.external.for_project(self.project)
480-
versions = {
481-
self.external_version_public,
482-
self.external_version_private,
483-
self.another_external_version_public,
484-
self.another_external_version_private,
485-
}
486-
self.assertEqual(query.count(), len(versions))
487-
self.assertEqual(set(query), versions)

0 commit comments

Comments
 (0)