def main():
    """ Main function """
    # Read configuration from the config file if present, else fall back to
    # command line options
    if args.config:
        config = config_file_parser.get_configuration(args.config)
        access_key_id = config['access-key-id']
        secret_access_key = config['secret-access-key']
        region = config['region']
    else:
        access_key_id = args.access_key_id
        secret_access_key = args.secret_access_key
        region = args.region

    if args.daemon:
        pid_file = '/tmp/automatic-ebs-snapshots.pid'
        daemon = AutoEBSDaemon(pid_file)

        if args.daemon == 'start':
            daemon.start()

        elif args.daemon == 'stop':
            daemon.stop()
            sys.exit(0)

        elif args.daemon == 'restart':
            daemon.restart()

        elif args.daemon in ['foreground', 'fg']:
            daemon.run()

        else:
            print 'Valid options for --daemon are start, stop and restart'
            sys.exit(1)

    # Connect to AWS
    connection = connection_manager.connect_to_ec2(
        region, access_key_id, secret_access_key)

    if args.watch:
        volume_manager.watch(
            connection,
            args.watch,
            args.interval,
            args.retention)

    if args.unwatch:
        volume_manager.unwatch(connection, args.unwatch)

    if args.watch_file:
        volume_manager.watch_from_file(connection, args.watch_file)

    if args.unwatch_file:
        volume_manager.unwatch_from_file(connection, args.unwatch_file)

    if args.snapshots:
        volume_manager.list_snapshots(connection, args.snapshots)

    if args.list:
        volume_manager.list(connection)

    if args.run:
        snapshot_manager.run(connection)
def main ( ) : if args . config : config = config_file_parser . get_configuration ( args . config ) access_key_id = config [ 'access-key-id' ] secret_access_key = config [ 'secret-access-key' ] region = config [ 'region' ] else : access_key_id = args . access_key_id secret_access_key = args . secret_access_key region = args . region if args . daemon : pid_file = '/tmp/automatic-ebs-snapshots.pid' daemon = AutoEBSDaemon ( pid_file ) if args . daemon == 'start' : daemon . start ( ) elif args . daemon == 'stop' : daemon . stop ( ) sys . exit ( 0 ) elif args . daemon == 'restart' : daemon . restart ( ) elif args . daemon in [ 'foreground' , 'fg' ] : daemon . run ( ) else : print 'Valid options for --daemon are start, stop and restart' sys . exit ( 1 ) connection = connection_manager . connect_to_ec2 ( region , access_key_id , secret_access_key ) if args . watch : volume_manager . watch ( connection , args . watch , args . interval , args . retention ) if args . unwatch : volume_manager . unwatch ( connection , args . unwatch ) if args . watch_file : volume_manager . watch_from_file ( connection , args . watch_file ) if args . unwatch_file : volume_manager . unwatch_from_file ( connection , args . unwatch_file ) if args . snapshots : volume_manager . list_snapshots ( connection , args . snapshots ) if args . list : volume_manager . list ( connection ) if args . run : snapshot_manager . run ( connection )
Main function