diff --git a/catalog/book/models.py b/catalog/book/models.py index a8164423..93b86a8b 100644 --- a/catalog/book/models.py +++ b/catalog/book/models.py @@ -137,7 +137,7 @@ class Edition(Item): "binding", "pages", "price", - "brief", + # "brief", "localized_description", "contents", ] diff --git a/catalog/common/models.py b/catalog/common/models.py index d6baea2e..f24ebab8 100644 --- a/catalog/common/models.py +++ b/catalog/common/models.py @@ -636,7 +636,7 @@ class Item(PolymorphicModel): @property def brief_description(self): - return self.display_description[:155] + return (self.display_description or "")[:155] @classmethod def get_by_url(cls, url_or_b62: str, resolve_merge=False) -> "Self | None": diff --git a/catalog/management/commands/catalog.py b/catalog/management/commands/catalog.py index 16820bc0..a5c28bed 100644 --- a/catalog/management/commands/catalog.py +++ b/catalog/management/commands/catalog.py @@ -80,6 +80,8 @@ class Command(BaseCommand): lang = i.metadata.get("language") if isinstance(lang, str) and lang: i.metadata["language"] = [lang] + if i.__class__ == Podcast and i.metadata.get("host", None) is None: + i.metadata["host"] = i.metadata.get("hosts", []) i.localized_title = uniq(localized_title) localized_desc = [{"lang": detect_language(i.brief), "text": i.brief}] i.localized_description = localized_desc diff --git a/catalog/search/typesense.py b/catalog/search/typesense.py index 499e41f7..bf4c4879 100644 --- a/catalog/search/typesense.py +++ b/catalog/search/typesense.py @@ -165,6 +165,7 @@ class Indexer: "type": "string[]", }, {"name": "artist", "optional": True, "locale": "zh", "type": "string[]"}, + {"name": "host", "optional": True, "locale": "zh", "type": "string[]"}, {"name": "company", "optional": True, "locale": "zh", "type": "string[]"}, {"name": "developer", "optional": True, "locale": "zh", "type": "string[]"}, {"name": "publisher", "optional": True, "locale": "zh", "type": "string[]"},