Information
We are currently investigating an issue with the editor of some pages. Please save your work and avoid to create new pages until this banner is gone.
cd ~/workspace getTemplateForDirectory MODROOT_WS pyHelloComp cd pyHelloComp/src mkdir ws touch ws/__init__.py touch ws/HelloComponentImpl.py vim Makefile
We modify the Makefile for this component:
... PY_PACKAGES = ws ...
We fill the component code as follows:
vim ws/HelloComponentImpl.py
# Client stubs and definitions, such as structs, enums, etc. import workshop # Skeleton infrastructure for server implementation import workshop__POA # Base component implementation from Acspy.Servants.ACSComponent import ACSComponent # Services provided by the container to the component from Acspy.Servants.ContainerServices import ContainerServices # Basic component lifecycle (initialize, execute, cleanUp and aboutToAbort methods) from Acspy.Servants.ComponentLifecycle import ComponentLifecycle class HelloComponentImpl(workshop__POA.HelloComponent, ACSComponent, ContainerServices, ComponentLifecycle): def __init__(self): ACSComponent.__init__(self) ContainerServices.__init__(self) self._logger = self.getLogger() def printHello(self): print("Just printing 'Hello World!'") return "Hello World!"
export INTROOT=~/workspace/introot export PYTHONPATH=$INTROOT/lib/python/site-packages:/alma/ACS-2021AUG/ACSSW/lib/python/site-packages make all install
vim $ACS_CDB/CDB/MACI/Components/Components.xml
Add the following item:
<e Name="HelloWorldPython" Code="ws.HelloComponentImpl" Type="IDL:acsws/workshop/HelloComponent:1.0" Container="aragornContainer" ImplLang="py" />
Create client python file:
cd ~/workspace touch client.py vim client.py
We fill it as follow:
from Acspy.Clients.SimpleClient import PySimpleClient client = PySimpleClient() component = client.getComponent("HelloWorldPython") print(component.printHello())
Run component:
# in one terminal acsStop acsStart # in a different terminal acsStartContainer -py aragornContainer # in a different terminal python client.py
... Hello World! ...