From 400d46a5323011a5fd5d8894fbc12919aab25390 Mon Sep 17 00:00:00 2001 From: Abhijeet Kaur Date: Thu, 22 Jun 2017 00:13:26 +0530 Subject: [PATCH] bots: Move "EmbeddedBotHandler" class to "zerver/lib/bot_lib.py" file. This would keep embedded classes for zulip at one place, that is, in "zerver" directory. This also fixes break in PyPI package for bindings. --- bots_api/bot_lib.py | 39 --------------------------------------- 1 file changed, 39 deletions(-) diff --git a/bots_api/bot_lib.py b/bots_api/bot_lib.py index 955afcc..35b32e0 100644 --- a/bots_api/bot_lib.py +++ b/bots_api/bot_lib.py @@ -6,8 +6,6 @@ import signal import sys import time import re -from zerver.lib.actions import internal_send_message -from zerver.models import UserProfile from six.moves import configparser @@ -111,43 +109,6 @@ class ExternalBotHandler(object): config.readfp(open(conf_file_path)) # type: ignore return dict(config.items(section)) -class EmbeddedBotHandler(object): - def __init__(self, user_profile): - # type: (UserProfile) -> None - # Only expose a subset of our UserProfile's functionality - self.user_profile = user_profile - self._rate_limit = RateLimit(20, 5) - try: - self.full_name = user_profile['full_name'] - self.email = user_profile['email'] - except KeyError: - logging.error('Cannot fetch user profile, make sure you have set' - ' up the zuliprc file correctly.') - sys.exit(1) - - def send_message(self, message): - # type: (Dict[str, Any]) -> None - if self._rate_limit.is_legal(): - internal_send_message(realm=self.user_profile.realm, sender_email=message['sender'], - recipient_type_name=message['type'], recipients=message['to'], - subject=message['subject'], content=message['content']) - else: - self._rate_limit.show_error_and_exit() - - def send_reply(self, message, response): - # type: (Dict[str, Any], str) -> None - send_reply(message, response, self.email, self.send_message) - - def get_config_info(self, bot_name, section=None): - # type: (str, Optional[str]) -> Dict[str, Any] - conf_file_path = os.path.realpath(os.path.join( - our_dir, '..', 'bots', bot_name, bot_name + '.conf')) - section = section or bot_name - config = configparser.ConfigParser() - config.readfp(open(conf_file_path)) # type: ignore - return dict(config.items(section)) - - class StateHandler(object): def __init__(self): # type: () -> None