Fix parsing UUID in search results
[mygpo.git] / mygpo / search / models.py
blob2fc306ea3cd2b881e7e8aa35ff5461711e509f96
1 """ Wrappers for the results of a search """
3 import uuid
6 class PodcastResult(object):
7 """ Wrapper for a Podcast search result """
9 @classmethod
10 def from_doc(cls, doc):
11 """ Construct a PodcastResult from a search result """
12 obj = cls()
14 for key, val in doc['_source'].items():
15 setattr(obj, key, val)
17 obj.id = uuid.UUID(doc['_id']).hex
18 return obj
20 @property
21 def slug(self):
22 return next(iter(self.slugs), None)
24 @property
25 def url(self):
26 return next(iter(self.urls), None)
28 def get_id(self):
29 return self.id
31 @property
32 def display_title(self):
33 return self.title