0001-misc-don-t-crash-when-cell-cache-refers-to-unknown-c.patch
combo/data/library.py | ||
---|---|---|
29 | 29 |
return self.classes_by_content_str.values() |
30 | 30 | |
31 | 31 |
def get_cell_class(self, content_type_str): |
32 |
return self.classes_by_content_str[content_type_str]
|
|
32 |
return self.classes_by_content_str.get(content_type_str)
|
|
33 | 33 | |
34 | 34 |
def register_cell_class(self, klass): |
35 | 35 |
self.classes_by_content_str[klass.get_cell_type_str()] = klass |
combo/data/models.py | ||
---|---|---|
586 | 586 |
else: |
587 | 587 |
cell_classes = [get_cell_class(x) for x in cell_types] |
588 | 588 |
for klass in cell_classes: |
589 |
if klass is None: |
|
590 |
continue |
|
589 | 591 |
if cell_filter and not cell_filter(klass): |
590 | 592 |
continue |
591 | 593 |
cells.extend(klass.objects.filter(**kwargs)) |
... | ... | |
600 | 602 |
def get_cell(cls, reference, **kwargs): |
601 | 603 |
"""Returns the cell matching reference, and eventual **kwargs""" |
602 | 604 |
content_id, cell_id = reference.split('-') |
603 |
try: |
|
604 |
klass = get_cell_class(content_id) |
|
605 |
except KeyError: |
|
605 |
klass = get_cell_class(content_id) |
|
606 |
if klass is None: |
|
606 | 607 |
raise ObjectDoesNotExist() |
607 | 608 |
return klass.objects.get(id=cell_id, **kwargs) |
608 | 609 | |
609 |
- |