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: