Source code for labscript_utils.zlock

#####################################################################
#                                                                   #
# zlock.py                                                          #
#                                                                   #
# Copyright 2013, Monash University                                 #
#                                                                   #
# This file is part of the labscript suite (see                     #
# http://labscriptsuite.org) and is licensed under the Simplified   #
# BSD License. See the license.txt file in the root of the project  #
# for the full license.                                             #
#                                                                   #
#####################################################################
"""Script to run a zlock server configured according to LabConfig. Run with:

.. code-block:: bash

    python -m labscript_utils.zlock [--daemon]

If --daemon is specified, the zlock server will be started in the background.
"""
import sys
import subprocess
from socket import gethostbyname
from labscript_utils.ls_zprocess import get_config
from labscript_utils.setup_logging import LOG_PATH
from zprocess import start_daemon

[docs] def main(): config = get_config() if gethostbyname(config['zlock_host']) != gethostbyname('localhost'): msg = ( "Zlock not configured to run on this host according to labconfig: " + "zlock_host=%s" % config['zlock_host'] ) raise ValueError(msg) cmd = [ sys.executable, '-m', 'zprocess.zlock', '--port', config['zlock_port'], '-l', LOG_PATH, ] if config['shared_secret_file'] is not None: cmd += ['--shared-secret-file', config['shared_secret_file']] elif config['allow_insecure']: cmd += ['--allow-insecure'] else: cmd += ['--no-allow-insecure'] if '--daemon' in sys.argv: start_daemon(cmd) else: try: subprocess.call(cmd) except KeyboardInterrupt: pass
if __name__ == '__main__': main()