Files
JIMRI/jython/operations/OperationsBuildAndTerminateTrain.py
T
2026-06-17 14:00:51 +02:00

37 lines
1.2 KiB
Python

# Sample script showing how to build and terminate a train. Used in operations
#
# Author: Daniel Boudreau, copyright 2010, 2024
# Part of the JMRI distribution
import jmri
class buildAndTerminate(jmri.jmrit.automat.AbstractAutomaton) :
def init(self):
# get the train manager
self.tm = jmri.InstanceManager.getDefault(jmri.jmrit.operations.trains.TrainManager)
return
def handle(self):
# Build and terminate train
trainName = "BL"
train = self.tm.getTrainByName(trainName)
print ('Build and terminate train {}'.format(trainName))
# Build train
if (train != None):
train.build()
built = train.isBuilt()
train.setBuildEnabled(False) # deselect build option (Checkbox in Trains window)
if (built == True):
print ('Train {} has been built'.format(trainName))
train.terminate() # now terminate the train
print ('Train {} has been terminated'.format(trainName))
else:
print ('Train {} build failed'.format(trainName))
else:
print ('Train {} does not exist'.format(trainName))
return False # all done, don't repeat again
buildAndTerminate().start() # create one of these, and start it running