OverviewFilesCommitsIssuesDocsReleasesPeers

opencog-cogserver commits / 6f82fe3

Clean up the cogserver python module
6f82fe346a1383fad8496cc0aa92f8388b2d9b7c
by Linas Vepstas <linasvepstas@gmail.com> · 2025-12-15T00:05:50.000Z

Changed files (3) +18 -29

opencog/cogserver/python/opencog/cogserver.py +0 -21
……@@ -6,27 +6,6 @@
66# the CogServer network server.
77#
88
9import ctypes
10import os
11
12# Load the servernode library to register CogServerNode type
13# This must happen before we can use types.CogServerNode
14_lib_paths = [
15 # Build directory (for testing without install)
16 os.path.join(os.path.dirname(__file__), "../../../../build/opencog/cogserver/atoms/libservernode.so"),
17 # Installed locations
18 "/usr/local/lib/opencog/libservernode.so",
19 "/usr/lib/opencog/libservernode.so",
20]
21_servernode_lib = None
22for _path in _lib_paths:
23 if os.path.exists(_path):
24 _servernode_lib = ctypes.CDLL(_path, mode=ctypes.RTLD_GLOBAL)
25 break
26
27if _servernode_lib is None:
28 raise ImportError("Could not find libservernode.so - is cogserver installed?")
29
309from opencog.type_constructors import get_thread_atomspace, FloatValue, VoidValue, Predicate
3110from opencog.atomspace import types
3211
tests/cython/CMakeLists.txt +3 -8
……@@ -15,7 +15,7 @@ TARGET_LINK_LIBRARIES(PyEvalUTest
1515
1616# Set COGSERVER_MODULE_PATH so modules can be found in the build directory
1717SET(COGSERVER_TEST_MODULE_PATH
18 "COGSERVER_MODULE_PATH=${PROJECT_BINARY_DIR}/opencog/cogserver/modules:${PROJECT_BINARY_DIR}/opencog/cogserver/shell")
18 "COGSERVER_MODULE_PATH=${PROJECT_BINARY_DIR}/opencog/cogserver/atoms:${PROJECT_BINARY_DIR}/opencog/cogserver/modules:${PROJECT_BINARY_DIR}/opencog/cogserver/shell")
1919SET_PROPERTY(TEST PyEvalUTest APPEND PROPERTY ENVIRONMENT ${COGSERVER_TEST_MODULE_PATH})
2020
2121# --------------------------
……@@ -27,14 +27,9 @@ ADD_TEST(NAME CogServerPythonTest
2727
2828SET_PROPERTY(TEST CogServerPythonTest
2929 PROPERTY ENVIRONMENT
30 "PYTHONPATH=${CMAKE_BINARY_DIR}/opencog/cython:${PYTHON_ROOT}:$ENV{PYTHONPATH}"
31 "LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/opencog/cogserver/server:${CMAKE_BINARY_DIR}/opencog/cython/opencog:$ENV{LD_LIBRARY_PATH}"
30 "PYTHONPATH=${PROJECT_SOURCE_DIR}/opencog/cogserver/python:${PYTHON_ROOT}:$ENV{PYTHONPATH}"
31 "LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/opencog/cogserver/server:$ENV{LD_LIBRARY_PATH}"
3232 ${COGSERVER_TEST_MODULE_PATH}
3333)
3434
35# Mark test to run after the cogserver_cython target is built
36SET_PROPERTY(TEST CogServerPythonTest
37 PROPERTY DEPENDS cogserver_cython
38)
39
4035# --------------------------
tests/cython/test_cogserver.py +15 -0
……@@ -9,10 +9,25 @@ import unittest
99import time
1010import sys
1111import os
12import ctypes
1213
1314# Add the source directory to Python path for the pure Python cogserver module
1415sys.path.insert(0, os.path.join(os.path.dirname(__file__), '../../opencog/cogserver/python'))
1516
17# Load the servernode library to register CogServerNode type.
18# Uses COGSERVER_MODULE_PATH set by CMake for build directory testing.
19def _load_servernode_lib():
20 lib_name = "libservernode.so"
21 module_path = os.environ.get("COGSERVER_MODULE_PATH", "")
22 for directory in module_path.split(":"):
23 if directory:
24 path = os.path.join(directory, lib_name)
25 if os.path.exists(path):
26 return ctypes.CDLL(path, mode=ctypes.RTLD_GLOBAL)
27 raise ImportError(f"Could not find {lib_name} - set COGSERVER_MODULE_PATH")
28
29_servernode_lib = _load_servernode_lib()
30
1631try:
1732 from opencog.atomspace import AtomSpace
1833 from opencog.type_constructors import get_thread_atomspace, Predicate