Skip to content

Commit 2be41df

Browse files
committed
raise proper exception if looked up inode can't be found
1 parent bc43016 commit 2be41df

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

finder/models/inode.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from operator import and_, or_
55

66
from django.conf import settings
7-
from django.core.exceptions import ImproperlyConfigured, ValidationError
7+
from django.core.exceptions import ImproperlyConfigured, ValidationError, ObjectDoesNotExist
88
from django.db import connections, models
99
from django.db.models.aggregates import Aggregate
1010
from django.db.models.expressions import F, Value, Q
@@ -166,10 +166,13 @@ def get_inode(self, **lookup):
166166
folder_qs = FolderModel.objects.none()
167167
elif (folder_qs := FolderModel.objects.filter(**lookup)).exists():
168168
return folder_qs.get()
169-
values = folder_qs.values('id', mime_type=Value(None, output_field=models.CharField())).union(*[
170-
model.objects.values('id', 'mime_type').filter(self.get_query(model, lookup))
171-
for model in FileModel.get_models()
172-
]).get()
169+
try:
170+
values = folder_qs.values('id', mime_type=Value(None, output_field=models.CharField())).union(*[
171+
model.objects.values('id', 'mime_type').filter(self.get_query(model, lookup))
172+
for model in FileModel.get_models()
173+
]).get()
174+
except FolderModel.DoesNotExist:
175+
raise self.model.DoesNotExist(f"No inode found matching the given lookup: {lookup}.")
173176
return FileModel.objects.get_model_for(values['mime_type']).objects.get(id=values['id'])
174177

175178
@classmethod

0 commit comments

Comments
 (0)