Mercurial > libervia-backend
comparison sat/tools/common/data_objects.py @ 3261:a9e8e925ad99
tools (common/data_objects): new `avatar_basename` property
author | Goffi <goffi@goffi.org> |
---|---|
date | Sun, 19 Apr 2020 22:52:15 +0200 |
parents | 39d7327583e1 |
children | 9896589487ae |
comparison
equal
deleted
inserted
replaced
3260:e9ecd133773b | 3261:a9e8e925ad99 |
---|---|
19 | 19 |
20 """Objects handling bridge data, with jinja2 safe markup handling""" | 20 """Objects handling bridge data, with jinja2 safe markup handling""" |
21 | 21 |
22 from sat.core.constants import Const as C | 22 from sat.core.constants import Const as C |
23 from sat.tools.common import data_format | 23 from sat.tools.common import data_format |
24 from os.path import basename | |
24 | 25 |
25 try: | 26 try: |
26 from jinja2 import Markup as safe | 27 from jinja2 import Markup as safe |
27 except ImportError: | 28 except ImportError: |
28 safe = str | 29 safe = str |
359 class Identity(object): | 360 class Identity(object): |
360 def __init__(self, jid_str, data=None): | 361 def __init__(self, jid_str, data=None): |
361 self.jid_str = jid_str | 362 self.jid_str = jid_str |
362 self.data = data if data is not None else {} | 363 self.data = data if data is not None else {} |
363 | 364 |
365 @property | |
366 def avatar_basename(self): | |
367 try: | |
368 return basename(self.data['avatar']['path']) | |
369 except (TypeError, KeyError): | |
370 return None | |
371 | |
364 def __getitem__(self, key): | 372 def __getitem__(self, key): |
365 return self.data[key] | 373 return self.data[key] |
366 | 374 |
367 def __getattr__(self, key): | 375 def __getattr__(self, key): |
368 try: | 376 try: |