def run_send_command(): """Main entry point when running as a script -- should not be invoked form another module.""" parser = get_config_parser() parser.add_argument('command') parser.add_argument('-o', '--output-directory', metavar='DIR', default='.', help='Directory used to output data files (defaults to the current directory).') parser.add_argument('--verbose', help='Produce verobose output.', action='store_true', default=False) args = parser.parse_args() if not args.device_config.labels: args.device_config.labels = ['PORT_{}'.format(i) for i in xrange(len(args.device_config.resistor_values))] if args.verbose: log.start_logging('DEBUG') else: log.start_logging('INFO', fmt='%(levelname)-8s %(message)s') if args.command == 'configure': args.device_config.validate() command = Command(args.command, config=args.device_config) elif args.command == 'get_data': command = Command(args.command, output_directory=args.output_directory) else: command = Command(args.command) result = execute_command(args.server_config, command) print result if result.data: print result.data
def run_send_command(): """Main entry point when running as a script -- should not be invoked form another module.""" parser = get_config_parser() parser.add_argument('command') parser.add_argument('-o', '--output-directory', metavar='DIR', default='.', help='Directory used to output data files (defaults to the current directory).') parser.add_argument('--verbose', help='Produce verobose output.', action='store_true', default=False) args = parser.parse_args() if not args.device_config.labels: args.device_config.labels = ['PORT_{}'.format(i) for i in range(len(args.device_config.resistor_values))] if args.verbose: log.start_logging('DEBUG') else: log.start_logging('INFO', fmt='%(levelname)-8s %(message)s') if args.command == 'configure': args.device_config.validate() command = Command(args.command, config=args.device_config) elif args.command == 'get_data': command = Command(args.command, output_directory=args.output_directory) else: command = Command(args.command) result = execute_command(args.server_config, command) print(result) if result.data: print(result.data)
def run_server(): parser = argparse.ArgumentParser() parser.add_argument('-d', '--directory', help='Working directory', metavar='DIR', default='daq_server_tmpfiles') parser.add_argument('-p', '--port', help='port the server will listen on.', metavar='PORT', default=45677, type=int) parser.add_argument('-c', '--cleanup-after', type=int, default=5, metavar='DAYS', help=""" Sever will perodically clean up data files that are older than the number of days specfied by this parameter. """) parser.add_argument('--cleanup-period', type=int, default=1, metavar='DAYS', help='Specifies how ofte the server will attempt to clean up old files.') parser.add_argument('--debug', help='Run in debug mode (no DAQ connected).', action='store_true', default=False) parser.add_argument('--verbose', help='Produce verobose output.', action='store_true', default=False) args = parser.parse_args() if args.debug: global DaqRunner # pylint: disable=W0603 DaqRunner = DummyDaqRunner else: if not DaqRunner: raise __import_error # pylint: disable=raising-bad-type if args.verbose or args.debug: start_logging('DEBUG', '%(asctime)s %(name)-30s %(levelname)-7s: %(message)s') else: start_logging('INFO') # days to seconds cleanup_period = args.cleanup_period * 24 * 60 * 60 daq_server = DaqServer(args.directory) logger = logging.getLogger(__name__) server = SimpleXMLRPCServer(('', args.port), allow_none=True) server.register_instance(daq_server) try: hostname = socket.gethostbyname(socket.gethostname()) except socket.gaierror: hostname = 'localhost' logger.info('Listening on %s:%d', hostname, args.port) server.serve_forever()
def run_send_command(): """Main entry point when running as a script -- should not be invoked form another module.""" parser = get_config_parser() parser.add_argument('command') parser.add_argument('arguments', nargs='*') parser.add_argument( '-o', '--output-directory', metavar='DIR', default='.', help= 'Directory used to output data files (defaults to the current directory).' ) parser.add_argument('--verbose', help='Produce verobose output.', action='store_true', default=False) args = parser.parse_args() if not args.device_config.labels: args.device_config.labels = [ 'PORT_{}'.format(i) for i in range(len(args.device_config.resistor_values)) ] if args.verbose: start_logging('DEBUG') else: start_logging('INFO', fmt='%(levelname)-8s %(message)s') daq_client = DaqClient(args.host, args.port) if args.command == 'configure': args.device_config.validate() result = daq_client.configure(args.device_config) elif args.command == 'get_data': daq_client.get_data(output_directory=args.output_directory) result = None else: result = daq_client.__getattr__(args.command)(*args.arguments) if result is None: print('Ok') else: print(result)
def run_server(): parser = argparse.ArgumentParser() parser.add_argument('-d', '--directory', help='Working directory', metavar='DIR', default='.') parser.add_argument('-p', '--port', help='port the server will listen on.', metavar='PORT', default=45677, type=int) parser.add_argument('-c', '--cleanup-after', type=int, default=5, metavar='DAYS', help=""" Sever will perodically clean up data files that are older than the number of days specfied by this parameter. """) parser.add_argument('--cleanup-period', type=int, default=1, metavar='DAYS', help='Specifies how ofte the server will attempt to clean up old files.') parser.add_argument('--debug', help='Run in debug mode (no DAQ connected).', action='store_true', default=False) parser.add_argument('--verbose', help='Produce verobose output.', action='store_true', default=False) args = parser.parse_args() if args.debug: global DaqRunner # pylint: disable=W0603 DaqRunner = DummyDaqRunner else: if not DaqRunner: raise __import_error # pylint: disable=raising-bad-type if args.verbose or args.debug: log.start_logging('DEBUG') else: log.start_logging('INFO') # days to seconds cleanup_period = args.cleanup_period * 24 * 60 * 60 server = DaqServer(args.directory) factory = DaqFactory(server, cleanup_period, args.cleanup_after) reactor.listenTCP(args.port, factory).getHost() try: hostname = socket.gethostbyname(socket.gethostname()) except socket.gaierror: hostname = 'localhost' log.info('Listening on {}:{}'.format(hostname, args.port)) reactor.run()
def run_server(): parser = argparse.ArgumentParser() parser.add_argument('-d', '--directory', help='Working directory', metavar='DIR', default='.') parser.add_argument('-p', '--port', help='port the server will listen on.', metavar='PORT', default=45677, type=int) parser.add_argument('-c', '--cleanup-after', type=int, default=5, metavar='DAYS', help=""" Sever will perodically clean up data files that are older than the number of days specfied by this parameter. """) parser.add_argument( '--cleanup-period', type=int, default=1, metavar='DAYS', help='Specifies how ofte the server will attempt to clean up old files.' ) parser.add_argument('--debug', help='Run in debug mode (no DAQ connected).', action='store_true', default=False) parser.add_argument('--verbose', help='Produce verobose output.', action='store_true', default=False) args = parser.parse_args() if args.debug: global DaqRunner # pylint: disable=W0603 DaqRunner = DummyDaqRunner else: if not DaqRunner: raise __import_error # pylint: disable=raising-bad-type if args.verbose or args.debug: log.start_logging('DEBUG') else: log.start_logging('INFO') # days to seconds cleanup_period = args.cleanup_period * 24 * 60 * 60 server = DaqServer(args.directory) factory = DaqFactory(server, cleanup_period, args.cleanup_after) reactor.listenTCP(args.port, factory).getHost() try: hostname = socket.gethostbyname(socket.gethostname()) except socket.gaierror: hostname = 'localhost' log.info('Listening on {}:{}'.format(hostname, args.port)) reactor.run()