Path: blob/main/tests/complex/traci/trafficlight/constraints/swapConstraints_loadState/runner.py
169771 views
#!/usr/bin/env python1# -*- coding: utf-8 -*-2# Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo3# Copyright (C) 2008-2025 German Aerospace Center (DLR) and others.4# This program and the accompanying materials are made available under the5# terms of the Eclipse Public License 2.0 which is available at6# https://www.eclipse.org/legal/epl-2.0/7# This Source Code may also be made available under the following Secondary8# Licenses when the conditions for such availability set forth in the Eclipse9# Public License 2.0 are satisfied: GNU General Public License, version 210# or later which is available at11# https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html12# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later1314# @file runner.py15# @author Michael Behrisch16# @author Daniel Krajzewicz17# @date 2011-03-04181920from __future__ import print_function21from __future__ import absolute_import22import os23import sys2425if "SUMO_HOME" in os.environ:26sys.path.append(os.path.join(os.environ["SUMO_HOME"], "tools"))27import traci # noqa28import sumolib # noqa2930traci.start([sumolib.checkBinary('sumo'),31'-n', 'input_net.net.xml',32'-a', 'input_additional.add.xml',33'-r', 'input_routes.rou.xml',34'--tripinfo-output', 'tripinfo.xml',35'--save-state.constraints',36'--no-step-log',37] + sys.argv[1:])383940print("constraints before swap")41for tlsID in traci.trafficlight.getIDList():42for c in traci.trafficlight.getConstraints(tlsID):43print(" tls=%s %s" % (tlsID, c))4445traci.simulation.saveState("state.xml")464748def swap():49traci.trafficlight.swapConstraints("D", "t2", "A", "t0")5051print("constraints after swap")52for tlsID in traci.trafficlight.getIDList():53for c in traci.trafficlight.getConstraints(tlsID):54print(" tls=%s %s" % (tlsID, c))555657swap()58traci.simulation.loadState("state.xml")59swap()6061while traci.simulation.getMinExpectedNumber() > 0:62traci.simulationStep()6364traci.close()656667