mirror of
https://github.com/zulip/zulip.git
synced 2025-11-04 22:13:26 +00:00
Move the zcommands from '/views/messages.py' to '/lib/zcommand'. Also, move the zcommand tests from '/tests/test_messages.py' to '/tests/test_zcommand'.
33 lines
1.1 KiB
Python
33 lines
1.1 KiB
Python
from typing import Any, Dict
|
|
from django.utils.translation import ugettext as _
|
|
|
|
from zerver.models import UserProfile
|
|
from zerver.lib.actions import do_set_user_display_setting
|
|
from zerver.lib.exceptions import JsonableError
|
|
|
|
def process_zcommands(command: str, user_profile: UserProfile) -> Dict[str, Any]:
|
|
|
|
if command == 'ping':
|
|
ret = dict() # type: Dict[str, Any]
|
|
return ret
|
|
|
|
if command == 'night':
|
|
if user_profile.night_mode:
|
|
msg = 'You are still in night mode.'
|
|
else:
|
|
msg = 'Changed to night mode! To revert night mode, type `/day`.'
|
|
do_set_user_display_setting(user_profile, 'night_mode', True)
|
|
ret = dict(msg=msg)
|
|
return ret
|
|
|
|
if command == 'day':
|
|
if user_profile.night_mode:
|
|
msg = 'Changed to day mode! To revert day mode, type `/night`.'
|
|
do_set_user_display_setting(user_profile, 'night_mode', False)
|
|
else:
|
|
msg = 'You are still in day mode.'
|
|
ret = dict(msg=msg)
|
|
return ret
|
|
|
|
raise JsonableError(_('No such command: %s') % (command,))
|