mirror of
https://github.com/zulip/zulip.git
synced 2025-11-09 16:37:23 +00:00
zcommands: Add zcommand module and separate test module.
Move the zcommands from '/views/messages.py' to '/lib/zcommand'. Also, move the zcommand tests from '/tests/test_messages.py' to '/tests/test_zcommand'.
This commit is contained in:
32
zerver/lib/zcommand.py
Normal file
32
zerver/lib/zcommand.py
Normal file
@@ -0,0 +1,32 @@
|
||||
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,))
|
||||
Reference in New Issue
Block a user