forked from randsleadershipslack/destalinator
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathexecutor.py
More file actions
executable file
·41 lines (31 loc) · 1.57 KB
/
executor.py
File metadata and controls
executable file
·41 lines (31 loc) · 1.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#! /usr/bin/env python
import logging
import os
import config
import destalinator
import slackbot
import slacker
import utils
class Executor(object):
def __init__(self, debug=False, verbose=False, slackbot_injected=None, slacker_injected=None):
self.debug = debug
self.verbose = verbose
self.config = config.Config()
slackbot_token = os.getenv(self.config.slackbot_api_token_env_varname)
api_token = os.getenv(self.config.api_token_env_varname)
self.slackbot = slackbot_injected or slackbot.Slackbot(config.SLACK_NAME, token=slackbot_token)
self.logger = logging.getLogger(__name__)
utils.set_up_logger(self.logger,
log_level_env_var='DESTALINATOR_LOG_LEVEL',
log_to_slack_env_var='DESTALINATOR_LOG_TO_CHANNEL',
log_channel=self.config.log_channel,
slackbot=self.slackbot)
self.destalinator_activated = False
if os.getenv(self.config.destalinator_activated_env_varname):
self.destalinator_activated = True
self.logger.debug("destalinator_activated is %s", self.destalinator_activated)
self.slacker = slacker_injected or slacker.Slacker(config.SLACK_NAME, token=api_token, logger=self.logger)
self.ds = destalinator.Destalinator(slacker=self.slacker,
slackbot=self.slackbot,
activated=self.destalinator_activated,
logger=self.logger)