コード例 #1
0
ファイル: app.py プロジェクト: GalaCasey/galatea-hal-casey
def main():
    log_level = os.getenv("LOG_LEVEL", "INFO")
    logging.basicConfig(format='%(asctime)s - %(levelname)s: %(message)s', level=log_level)
    # Log this at error level even though it's not an error, because we want to be sure the message is seen
    logging.error("logging level: {}".format(log_level))

    slack_token = os.getenv("SLACK_TOKEN", "")
    logging.info("slack token: {}".format(slack_token))

    if slack_token == "":
        logging.info("SLACK_TOKEN env var not set, expecting token to be provided by Resourcer events")
        slack_token = None
        botManager = bot_manager.BotManager(spawn_bot)
        res = resourcer.Resourcer(botManager)
        res.start()
    else:
        state_updating_q = Queue()
        flask_thread = FlaskThread(state_updating_q)
        flask_thread.start()
        event_processing_q = Queue()
        intent_runner_pool = WorkerPoolThread(event_processing_q, state_updating_q)
        intent_runner_pool.start()
        # only want to run a single instance of the bot in dev mode
        bot = SlackBot(state_updating_q, event_processing_q, slack_token)
        bot.start({})
コード例 #2
0
    def test_start(self):
        # A large set of mocks required to make sure that this test tests start, not
        # any other function
        # Does not currently cover exception in the event read loop
        resource = {'resource': {'SlackBotAccessToken': 'token'}}
        mock_messenger = MagicMock(return_value="dummy messenger")
        mock_event_handler = Mock()
        attrs = {'handle.return_value': "dummy return"}
        mock_event_handler.configure_mock(**attrs)
        mock_rtm = MagicMock(return_value=mock_event_handler)
        mock_slack_clients = MagicMock(return_value="dummy clients")
        slackbot = SlackBot("token", mock_slack_clients)
        slackbot.clients = Mock(
            rtm=Mock(rtm_connect=None,
                     rtm_read=None,
                     server=Mock(username=None,
                                 login_data={'team': {
                                     'name': None
                                 }},
                                 domain=None)))
        slackbot.clients.rtm.rtm_connect = MagicMock(return_value=True)
        slackbot.clients.rtm.server.username = "******"
        slackbot.clients.rtm.server.login_data['team'][
            'name'] = "dummy team name"
        slackbot.clients.rtm.server.domain = "dummy domain"
        slackbot.clients.rtm.rtm_read = MagicMock(
            return_value=['event1', 'event2', 'event3'])

        # Ensure that start completes without error
        self.assertEqual(slackbot.start(resource, mock_messenger, mock_rtm),
                         None)
コード例 #3
0
    def test_start(self):
        # A large set of mocks required to make sure that this test tests start, not
        # any other function
        # Does not currently cover exception in the event read loop
        resource = {
            'resource': {
                'SlackBotAccessToken': 'token'
            }
        }
        mock_messenger = MagicMock(return_value="dummy messenger")
        mock_event_handler = Mock()
        attrs = {'handle.return_value': "dummy return"}
        mock_event_handler.configure_mock(**attrs)
        mock_rtm = MagicMock(return_value=mock_event_handler)
        mock_slack_clients = MagicMock(return_value="dummy clients")
        slackbot = SlackBot("token", mock_slack_clients)
        slackbot.clients = Mock(rtm=Mock(rtm_connect=None, rtm_read=None, server=Mock(username=None, login_data={'team':{'name': None}}, domain=None)))
        slackbot.clients.rtm.rtm_connect = MagicMock(return_value=True)
        slackbot.clients.rtm.server.username = "******"
        slackbot.clients.rtm.server.login_data['team']['name'] = "dummy team name"
        slackbot.clients.rtm.server.domain = "dummy domain"
        slackbot.clients.rtm.rtm_read = MagicMock(return_value=['event1', 'event2', 'event3'])

        # Ensure that start completes without error
        self.assertEqual(slackbot.start(resource, mock_messenger, mock_rtm), None)
コード例 #4
0
def main():
    log_level = os.getenv("LOG_LEVEL", "INFO")
    logging.basicConfig(format='%(asctime)s - %(levelname)s: %(message)s',
                        level=log_level)
    # Log this at error level even though it's not an error, because we want to be sure the message is seen
    logging.error("logging level: {}".format(log_level))

    slack_token = os.getenv("SLACK_TOKEN", "")
    logging.info("slack token: {}".format(slack_token))

    if slack_token == "":
        logging.info(
            "SLACK_TOKEN env var not set, expecting token to be provided by Resourcer events"
        )
        slack_token = None
        botManager = bot_manager.BotManager(spawn_bot)
        res = resourcer.Resourcer(botManager)
        res.start()
    else:
        # only want to run a single instance of the bot in dev mode
        bot = SlackBot(slack_token)
        bot.start({})
コード例 #5
0
from flask import Flask

logger = logging.getLogger(__name__)
server = Flask(__name__)

@server.route ('/toto', methods=['GET'])
def local_test():
    return Response('it works')


if __name__ == "__main__":
    port= os.getenv("PORT","not found")
    server.run(host='0.0.0.0',port=8080,debug=True)
    log_level = os.getenv("LOG_LEVEL", "INFO")
    logging.basicConfig(format='%(asctime)s - %(levelname)s: %(message)s', level=log_level)

    slack_token = os.getenv("SLACK_TOKEN", "")
    logging.info("token: {}".format(slack_token))
    logging.info(port)

    if slack_token == "":
        logging.info("SLACK_TOKEN env var not set, expecting token to be provided by Resourcer events")
        slack_token = None
        botManager = bot_manager.BotManager(spawn_bot)
        res = resourcer.Resourcer(botManager)
        res.start()
    else:
        # only want to run a single instance of the bot in dev mode
        bot = SlackBot(slack_token)
        bot.start({})
コード例 #6
0
from slack_bot import SlackBot
from slack_bot import spawn_bot

logger = logging.getLogger(__name__)

if __name__ == "__main__":

    log_level = os.getenv("LOG_LEVEL", "INFO")
    logging.basicConfig(format='%(asctime)s - %(levelname)s: %(message)s',
                        level=log_level)

    config = yaml.load(file('bot.conf', 'r'))
    # debug = config["DEBUG"]

    slack_token = config["SLACK_TOKEN"]
    logging.info("token: {}".format(slack_token))

    if slack_token == "":
        logging.info(
            "SLACK_TOKEN env var not set, expecting token to be provided by Resourcer events"
        )
        slack_token = None
        botManager = bot_manager.BotManager(spawn_bot)
        res = resourcer.Resourcer(botManager)
        res.start()
    else:
        # only want to run a single instance of the bot in dev mode
        bot = SlackBot(slack_token)
        bot.start({})