Skip to content

Commit 33768ba

Browse files
committed
refactor real_models into concrete_inode_models and concrete_file_models
1 parent 68cf988 commit 33768ba

File tree

5 files changed

+16
-14
lines changed

5 files changed

+16
-14
lines changed

finder/admin/inode.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
from django.contrib import admin
44
from django.contrib.sites.shortcuts import get_current_site
5-
from django.core.exceptions import ValidationError
65
from django.db.models.expressions import F, Value
76
from django.db.models.fields import BooleanField
87
from django.db.models.functions import Lower
@@ -40,7 +39,7 @@ def get_urls(self):
4039

4140
def get_object(self, request, object_id, from_field=None):
4241
site = get_current_site(request)
43-
for model in InodeModel.real_models:
42+
for model in InodeModel.concrete_inode_models:
4443
try:
4544
obj = model.objects.get(id=object_id)
4645
if obj.is_folder and obj.realm.site == site and obj.realm.slug == self.admin_site.name:
@@ -125,7 +124,7 @@ def get_inodes(self, request, sorting=None, **lookup):
125124
"""
126125
inodes, applicable_sorting = [], []
127126
labels = lookup.pop('labels__in', None)
128-
for inode_model in InodeModel.real_models:
127+
for inode_model in InodeModel.concrete_inode_models:
129128
queryset = (
130129
inode_model.objects.select_related('owner')
131130
.filter(**lookup)

finder/api/views.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,6 @@ def list(self, request, folder_id):
114114
folder = FolderModel.objects.get(id=folder_id)
115115
request.session['finder.last_folder'] = str(folder_id)
116116

117-
folder.listdir(is_folder=False)
118-
119117
return {
120118
'files': [{
121119
'id': str(file.id),

finder/management/commands/reorganize_finder.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ def handle(self, verbosity, *args, **options):
1414
self.reorganize()
1515

1616
def reorganize(self):
17-
for inode_model in InodeModel.real_models:
17+
for inode_model in InodeModel.concrete_inode_models:
1818
if inode_model.is_folder:
1919
continue
2020
for file in inode_model.objects.all():

finder/models/folder.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,10 @@ def subfolders(self):
8585

8686
@property
8787
def num_children(self):
88-
num_children = sum(inode_model.objects.filter(parent=self).count() for inode_model in InodeModel.real_models)
88+
num_children = sum(
89+
inode_model.objects.filter(parent=self).count()
90+
for inode_model in InodeModel.concrete_inode_models
91+
)
8992
return num_children
9093

9194
@cached_property

finder/models/inode.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,17 +40,17 @@ def _validate_accept_mime_types(new_class):
4040
new_class._mime_types_mapping[accept_mime_type] = new_class
4141

4242
@property
43-
def real_models(self):
43+
def concrete_inode_models(self):
4444
"""
45-
Yields all real (excluding proxy models) that inherit from InodeModel.
45+
Yields all concrete (excluding proxy models) that inherit from InodeModel.
4646
"""
4747
yield self._inode_models['finder.FolderModel']
48-
yield from self.real_file_models
48+
yield from self.concrete_file_models
4949

5050
@property
51-
def real_file_models(self):
51+
def concrete_file_models(self):
5252
"""
53-
Yields all real (excluding proxy models) that inherit from AbstractFileModel.
53+
Yields all concrete (excluding proxy models) that inherit from AbstractFileModel.
5454
"""
5555
for model in self._inode_models.values():
5656
if not model.is_folder and not model._meta.proxy:
@@ -74,9 +74,11 @@ class InodeManagerMixin:
7474
def filter_inodes(self, **lookup):
7575
from .folder import FolderModel
7676

77-
if lookup.pop('is_folder', False):
77+
is_folder = lookup.pop('is_folder', None)
78+
if is_folder:
7879
return FolderModel.objects.filter(**lookup).iterator()
79-
inodes = [inode_model.objects.filter(**lookup) for inode_model in InodeModel.real_file_models]
80+
concrete_models = InodeModel.concrete_file_models if is_folder is False else InodeModel.concrete_inode_models
81+
inodes = [inode_model.objects.filter(**lookup) for inode_model in concrete_models]
8082
return chain(*inodes)
8183

8284
def get_inode(self, **lookup):

0 commit comments

Comments
 (0)