Comment
This commit is contained in:
parent
e6acf0c399
commit
502ae6c663
|
@ -26,30 +26,37 @@ import ujson as json
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
DEFAULT_NOTIF_ACITON = ["notify", {"set_tweak": "highlight", "value": False}]
|
DEFAULT_NOTIF_ACTION = ["notify", {"set_tweak": "highlight", "value": False}]
|
||||||
DEFAULT_HIGHLIGHT_ACITON = [
|
DEFAULT_HIGHLIGHT_ACTION = [
|
||||||
"notify", {"set_tweak": "sound", "value": "default"}, {"set_tweak": "highlight"}
|
"notify", {"set_tweak": "sound", "value": "default"}, {"set_tweak": "highlight"}
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
def _serialize_action(actions, is_highlight):
|
def _serialize_action(actions, is_highlight):
|
||||||
|
"""Custom serializer for actions. This allows us to "compress" common actions.
|
||||||
|
|
||||||
|
We use the fact that most users have the same actions for notifs (and for
|
||||||
|
highlights). We replaces these default actions with the emtpy string.
|
||||||
|
"""
|
||||||
if is_highlight:
|
if is_highlight:
|
||||||
if actions == DEFAULT_HIGHLIGHT_ACITON:
|
if actions == DEFAULT_HIGHLIGHT_ACTION:
|
||||||
return ""
|
return "" # We use empty string as the column is non-NULL
|
||||||
else:
|
else:
|
||||||
if actions == DEFAULT_NOTIF_ACITON:
|
if actions == DEFAULT_NOTIF_ACTION:
|
||||||
return ""
|
return ""
|
||||||
return json.dumps(actions)
|
return json.dumps(actions)
|
||||||
|
|
||||||
|
|
||||||
def _deserialize_action(actions, is_highlight):
|
def _deserialize_action(actions, is_highlight):
|
||||||
|
"""Custom deserializer for actions. This allows us to "compress" common actions
|
||||||
|
"""
|
||||||
if actions:
|
if actions:
|
||||||
return json.loads(actions)
|
return json.loads(actions)
|
||||||
|
|
||||||
if is_highlight:
|
if is_highlight:
|
||||||
return DEFAULT_HIGHLIGHT_ACITON
|
return DEFAULT_HIGHLIGHT_ACTION
|
||||||
else:
|
else:
|
||||||
return DEFAULT_NOTIF_ACITON
|
return DEFAULT_NOTIF_ACTION
|
||||||
|
|
||||||
|
|
||||||
class EventPushActionsStore(SQLBaseStore):
|
class EventPushActionsStore(SQLBaseStore):
|
||||||
|
|
Loading…
Reference in New Issue