def show_help(commands): print("CloudMapper {}".format(__version__)) print("usage: {} [{}] [...]".format(sys.argv[0], "|".join(sorted(commands.keys())))) for command, module in sorted(commands.items()): print(" {}: {}".format(command, module.__description__)) exit(-1)
def selectDefaultInterface(): global config commands = { 'ip' : "ip route show | grep default | awk '{print $5}' | head -1", 'ifconfig': "route -n | grep 0.0.0.0 | grep 'UG' | awk '{print $8}' | head -1", } for k, v in commands.items(): out = shell(v) if len(out) > 0: Logger.dbg('Default interface lookup command returned:\n{}'.format(out)) config['interface'] = out return out return ''
def init(): global api, updater, config init_logs() load_config() api = twitter.Api(consumer_key=config["twitter"]["consumerKey"], consumer_secret=config["twitter"]["consumerSecret"], access_token_key=config["twitter"]["accessTokenKey"], access_token_secret=config["twitter"]["accessTokenSecret"], tweet_mode="extended") updater = Updater(config["telegram"]["token"], use_context=True) queue = updater.job_queue queue.run_repeating(jobs.main_job, interval=60, first=0) for cmd, callback in commands.items(): handler = CommandHandler(cmd, callback) updater.dispatcher.add_handler(handler) updater.start_polling()
def get_bot(token): assert type(token) == str assert len(token) > 0 return telegram.Bot(token) def get_updater(token): return Updater(token=token) if __name__ == '__main__': logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', level = logging.INFO) redis_config = config_reader.get_redis_address_from_config(default_config_filename) redis_client = redis.StrictRedis(host=redis_config['ip'], port=redis_config['port'], db=0) token = config_reader.get_token_from_config(default_config_filename) bot = get_bot(token) updater = get_updater(token) commands = commands.get_commands(redis_client) dispatcher = updater.dispatcher for name, func in commands.items(): handler = CommandHandler(name, func) dispatcher.add_handler(handler) updater.start_polling()