From 6e4b645954d94ea6d5345d499e1447ef155ef411 Mon Sep 17 00:00:00 2001 From: Markus Zolliker Date: Tue, 17 Feb 2026 14:30:39 +0100 Subject: [PATCH] bin/nicos-*: use NICOS_ROOT instead of relative path to script + fix guiconfig handling --- bin/nicos-cache | 10 ++-------- bin/nicos-daemon | 10 ++-------- bin/nicos-poller | 12 +++--------- nicosman.py | 8 +++++--- 4 files changed, 12 insertions(+), 28 deletions(-) diff --git a/bin/nicos-cache b/bin/nicos-cache index 0ccc40d..6da7968 100755 --- a/bin/nicos-cache +++ b/bin/nicos-cache @@ -26,14 +26,8 @@ import argparse import sys -from os import path, environ, chdir - -root = path.dirname(path.dirname(path.dirname(path.realpath(__file__)))) -nicos_root = path.join(root, 'nicos') -sys.path.insert(0, nicos_root) -# above packages: -sys.path.insert(1, root) - +from os import environ +sys.path.insert(0, environ['NICOS_ROOT']) parser = argparse.ArgumentParser() parser.add_argument('-d', '--daemon', dest='daemon', action='store_true', diff --git a/bin/nicos-daemon b/bin/nicos-daemon index f9edf24..5f616d2 100755 --- a/bin/nicos-daemon +++ b/bin/nicos-daemon @@ -27,14 +27,8 @@ import argparse import sys -from os import path, environ, chdir - -root = path.dirname(path.dirname(path.dirname(path.realpath(__file__)))) -nicos_root = path.join(root, 'nicos') -sys.path.insert(0, nicos_root) -# above packages: -sys.path.insert(1, root) - +from os import environ +sys.path.insert(0, environ['NICOS_ROOT']) parser = argparse.ArgumentParser() parser.add_argument('-d', '--daemon', dest='daemon', action='store_true', diff --git a/bin/nicos-poller b/bin/nicos-poller index 878db1a..bf886fb 100755 --- a/bin/nicos-poller +++ b/bin/nicos-poller @@ -26,14 +26,8 @@ import argparse import sys -from os import path, environ, chdir - -root = path.dirname(path.dirname(path.dirname(path.realpath(__file__)))) -nicos_root = path.join(root, 'nicos') -sys.path.insert(0, nicos_root) -# above packages: -sys.path.insert(1, root) - +from os import environ +sys.path.insert(0, environ['NICOS_ROOT']) parser = argparse.ArgumentParser() parser.add_argument('-d', '--daemon', dest='daemon', action='store_true', @@ -63,4 +57,4 @@ if opts.instrument: from nicos.services.poller.psession import PollerSession PollerSession.run(appname, setupname=opts.setupname, maindevname='Poller', - start_args=args, daemon=opts.daemon) \ No newline at end of file + start_args=args, daemon=opts.daemon) diff --git a/nicosman.py b/nicosman.py index 57b44c3..06258ea 100644 --- a/nicosman.py +++ b/nicosman.py @@ -23,6 +23,7 @@ import os import sys import shutil +from pathlib import Path from glob import glob from os.path import join, abspath, dirname, basename, expanduser, exists, islink from configparser import ConfigParser @@ -89,6 +90,7 @@ class NicosManager(ServiceManager): def do_create(self, ins, *args): if ins == 'check': ins_list = self.wildcard(None) + print(ins_list) else: ins_list = self.wildcard(ins) if ins_list is None: @@ -96,8 +98,8 @@ class NicosManager(ServiceManager): self.get_info() for ins_i in ins_list: env = self.env[ins_i] - base = join(env['NICOS_ROOT'], env['NICOS_PACKAGE'], ins_i) - nicos_conf = join(base, 'nicos.conf') + base = Path(env['NICOS_ROOT']) / env['NICOS_PACKAGE'] / ins_i + nicos_conf = base / 'nicos.conf' content = { 'nicos': { 'setup_subdirs': '["%s", "linse_nicos", "frappy_sinq"]' % ins_i, @@ -126,7 +128,7 @@ class NicosManager(ServiceManager): cp[key] = sdict with open(nicos_conf, 'w') as fd: cp.write(fd) - shutil.copyfile(join(base, '..', 'common', 'guiconfig.py'), join(base, 'guiconfig.py')) + shutil.copyfile(Path(__file__).parent / 'cfg' / 'guiconfig.py', base / 'guiconfig.py') @staticmethod def extra_info(ins):