Beispiel #1
0
def talker(args=None):

    # Handle arguments
    parser = argparse.ArgumentParser()
    parser.add_argument(
        '-config',
        type=str,
        default='/home/nick/GitHub/4d-agriculture/main_datapath/config.ini',
        help='Path to config file')
    args = parser.parse_args()

    # Create config.ini if it doesn't already exist
    if not os.path.exists(args.config):
        config.create_config_global(args.config)

    config.verify_config(args.config)

    # Create a new configparser
    parser = configparser.ConfigParser(interpolation=None)
    parser.read(args.config)

    # Create publisher node
    pub = rospy.Publisher('sample_points', String, queue_size=10)
    rospy.init_node('sample_gui', anonymous=False)

    # Create gui
    master = tk.Tk()
    gui.Main(master, parser, pub)

    # Run gui
    master.mainloop()
Beispiel #2
0
def main():
    if len(sys.argv) < 2:
        print USAGE
        return -1

    signal.signal(signal.SIGINT, signal_handler)

    # Verify config
    config.verify_config()

    # Init options
    try:
        opts, args = getopt.getopt(
            sys.argv[1:],
            "inl:sb",
            ["init", "non-interactive", "backup_log_dir", "skip-copy_binaries", "32bit-binary-test"],
        )
    except getopt.GetoptError as e:
        print USAGE
        print e
        return -1

    opt_init = False
    opt_backup_log_dir = None
    opt_skip_copy_binaries = False
    opt_32bit_binary_test = False
    opt_non_interactive = False
    for opt, arg in opts:
        if opt in ("-i", "--init"):
            opt_init = True
        elif opt in ("-l", "--backup_log_dir"):
            opt_backup_log_dir = arg
        elif opt in ("-s", "--skip-copy-binareis"):
            opt_skip_copy_binaries = True
        elif opt in ("-b", "--32bit-binary-test"):
            opt_32bit_binary_test = True
        elif opt in ("-n", "--non-interactive"):
            opt_non_interactive = True

    # Clean up test environment
    if cleanup_test_env(opt_skip_copy_binaries, opt_32bit_binary_test) != 0:
        print "Clean up test environment fail! Aborting..."
        return -1

    # When -i flag is on, it exits after setting up a cluster.
    if opt_init is True:
        if default_cluster.initialize_starting_up_smr_before_redis(config.clusters[0], verbose=2) is not 0:
            util.log("failed setting up servers.")
        else:
            util.log("finished successfully setting up servers.")
        return 0

    # Load test modules
    module_list = load_test_modules(opt_32bit_binary_test)
    print "module list : "
    print module_list

    # Run test
    return test_modules(module_list, opt_non_interactive, opt_backup_log_dir)
Beispiel #3
0
def main():
    verify_config([
        'logging', 'logging.level', 'telegram', 'telegram.token', 'knightro',
        'knightro.welcome', 'knightro.start', 'knightro.help',
        'knightro.alert', 'knightro.about'
    ])

    # Logging
    logging.basicConfig(
        format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
        level=config['logging']['level'])

    # Initializations
    load_locations()

    # Create the updater and get the dispatcher
    updater = Updater(token=config['telegram']['token'])
    dispatcher = updater.dispatcher

    # Handlers
    dispatcher.add_handler(CommandHandler('start', command_start))
    dispatcher.add_handler(CommandHandler('about', command_about))
    dispatcher.add_handler(CommandHandler('help', command_help))
    dispatcher.add_handler(CommandHandler('alert', command_alert))
    dispatcher.add_handler(
        CommandHandler('garage', command_garage, pass_args=True))
    dispatcher.add_handler(
        CommandHandler('whereis', command_whereis, pass_args=True))
    dispatcher.add_handler(
        MessageHandler(callback=handle_new_chat_member,
                       filters=Filters.status_update.new_chat_members))
    dispatcher.add_error_handler(handle_error)

    # Start
    if config['telegram']['use_webhook']:
        verify_config([
            'telegram.webhook', 'telegram.webhook.host',
            'telegram.webhook.internal_port', 'telegram.webhook.cert',
            'telegram.webhook.key'
        ])
        logging.info('Using webhook')
        updater.start_webhook(
            listen='127.0.0.1',
            port=config['telegram']['webhook']['internal_port'],
            url_path=config['telegram']['token'])
        updater.bot.set_webhook(
         url='https://' + config['telegram']['webhook']['host'] + \
             '/' + config['telegram']['token'],
         certificate=open(config['telegram']['webhook']['cert'], 'rb')
        )
    else:
        logging.info('Start polling')
        updater.start_polling()
    logging.info('Updater idling')
    updater.idle()
    logging.info('Exiting')
Beispiel #4
0
def main():
    if len(sys.argv) < 2:
        print USAGE
        return -1

    signal.signal( signal.SIGINT, signal_handler )

    # Verify config
    config.verify_config()

    # Init options
    try:
        opts, args = getopt.getopt(sys.argv[1:], 'inl:sb', ['init', 'non-interactive', 'backup_log_dir', 'skip-copy_binaries', '32bit-binary-test'])
    except getopt.GetoptError as e:
        print USAGE
        print e
        return -1

    opt_init = False
    opt_backup_log_dir = None
    opt_skip_copy_binaries = False
    opt_32bit_binary_test = False
    opt_non_interactive = False
    for opt, arg in opts:
        if opt in ("-i", '--init'):
            opt_init = True
        elif opt in ("-l", '--backup_log_dir'):
            opt_backup_log_dir = arg
        elif opt in ("-s", '--skip-copy-binareis'):
            opt_skip_copy_binaries = True
        elif opt in ("-b", '--32bit-binary-test'):
            opt_32bit_binary_test = True
        elif opt in ("-n", '--non-interactive'):
            opt_non_interactive = True

    # Clean up test environment
    if cleanup_test_env(opt_skip_copy_binaries, opt_32bit_binary_test) != 0:
        print 'Clean up test environment fail! Aborting...'
        return -1

    # When -i flag is on, it exits after setting up a cluster.
    if opt_init is True:
        if default_cluster.initialize_starting_up_smr_before_redis( config.clusters[0], verbose=2 ) is None:
            util.log('failed setting up servers.')
        else:
            util.log('finished successfully setting up servers.' )
        return 0

    # Load test modules
    module_list = load_test_modules(opt_32bit_binary_test)
    print "module list : "
    print module_list

    # Run test
    return test_modules(module_list, opt_non_interactive, opt_backup_log_dir)
Beispiel #5
0
def main(args):
    # Parse config file
    config = parse_config(args.config_file)

    # verify the config file and get the Carbon Black Cloud Server list
    output_params, server_list = verify_config(config)

    # Store Forward.  Attempt to send messages that have been saved due to a failure to reach the destination
    send_stored_data(output_params)

    logger.info("Found {0} Carbon Black Cloud Servers in config file".format(
        len(server_list)))

    # Iterate through our Carbon Black Cloud Server list
    for server in server_list:
        logger.info("Handling notifications for {0}".format(
            server.get('server_url')))

        notification_logs = fetch_notification_logs(
            server, output_params['output_format'],
            output_params['policy_action_severity'])

        logger.info("Sending Notifications")
        send_new_data(output_params, notification_logs)
        logger.info("Done Sending Notifications")

        audit_logs = fetch_audit_logs(server, output_params['output_format'])

        logger.info("Sending Audit Logs")
        send_new_data(output_params, audit_logs)
        logger.info("Done Sending Audit Logs")
Beispiel #6
0
from config import config, verify_config
from functools import wraps

verify_config(['privileges', 'privileges.default'])

MISSING_PERMISSION_MESSAGE = 'Sorry, that command requires the "{permission}" privilege.'


def get_user_privilege(tg_user):
    priv = config['privileges'].get(str(tg_user.id))
    if priv == None:
        priv = config['privileges']['default']
    return priv


def user_has_privilege(tg_user, privilege):
    priv = get_user_privilege(tg_user)
    if priv.get(privilege):
        return True
    else:
        return False


def privileged_command(privilege):
    def deco(func):
        @wraps(func)
        def wrapper(*args, **kwargs):
            update = args[1]
            if user_has_privilege(update.message.from_user, privilege):
                return func(*args, **kwargs)
            else:
Beispiel #7
0
import json
import logging

from telegram import ChatAction

from config import config, verify_config
from util import get_relative_filename
from util import send_action, logged_command

verify_config(
    ['navigation', 'navigation.locations_file', 'navigation.map_link'])

LOCATIONS_FILENAME = config['navigation']['locations_file']

locations = []


class Location:
    @staticmethod
    def search(text):
        text = text.lower().strip()
        keywords = text.split()
        #print('Searching locations for "{}"'.format(text))
        bestScore = 0
        bestLoc = None
        for loc in locations:
            score = 0
            if loc.abbr == text:
                #print('Exact match via abbr')
                score += 200
            elif loc.nameLower == text:
Beispiel #8
0
from math import floor
import re
import requests
from operator import attrgetter

from telegram import ChatAction

from config import config, verify_config
from util import send_action, logged_command
from mwt import MWT

verify_config([
    'parking', 'parking.url', 'parking.location_ids', 'parking.cache_time',
    'navigation.map_link'
])

PARKING_URL = config['parking'][
    'url']  # http://secure.parking.ucf.edu/GarageCount/
LOCATION_IDS = config['parking']['location_ids']
MAP_LINK = config['navigation']['map_link']


class Garage():
    def __init__(self, name, avail, total):
        self.name = name
        self.avail = avail
        self.total = total

    def __str__(self):
        return '{name}\t{percentFull}%\t{avail}/{total}'.format(
            name=self.name,