Path: blob/main/tools/neteditTestFunctions/files/reload.py
169678 views
# -*- coding: utf-8 -*-1# Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo2# Copyright (C) 2009-2025 German Aerospace Center (DLR) and others.3# This program and the accompanying materials are made available under the4# terms of the Eclipse Public License 2.0 which is available at5# https://www.eclipse.org/legal/epl-2.0/6# This Source Code may also be made available under the following Secondary7# Licenses when the conditions for such availability set forth in the Eclipse8# Public License 2.0 are satisfied: GNU General Public License, version 29# or later which is available at10# https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html11# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later1213# @file reload.py14# @author Pablo Alvarez Lopez15# @date 28-05-251617# imports18import time19import pyautogui20from ..constants import DELAY_RELOAD21from ..enums.attributesEnum import attrs22from ..enums.viewPositions import positions23from ..general.functions import waitQuestion24from ..input.keyboard import typeKey, typeTwoKeys25from ..input.mouse import moveMouse262728def reload(NeteditProcess, openNetDialog=False, saveNet=False,29openAdditionalDialog=False, saveAdditionalElements=False,30openDemandDialog=False, saveDemandElements=False,31openDataDialog=False, saveDataElements=False,32openMeanDataDialog=False, saveMeanDataElements=False):33"""34@brief reload Netedit35"""36# first move cursor out of magenta square37pyautogui.moveTo(150, 200)38# reload using hotkey39typeTwoKeys('ctrl', 'r')40# Check if net must be saved41if openNetDialog:42if saveNet:43waitQuestion('s')44else:45waitQuestion('n')46# Check if additionals must be saved47if openAdditionalDialog:48if saveAdditionalElements:49waitQuestion('s')50else:51waitQuestion('n')52# Check if demand elements must be saved53if openDemandDialog:54if saveDemandElements:55waitQuestion('s')56else:57waitQuestion('n')58# Check if data elements must be saved59if openDataDialog:60if saveDataElements:61waitQuestion('s')62else:63waitQuestion('n')64# Check if meanData elements must be saved65if openMeanDataDialog:66if saveMeanDataElements:67waitQuestion('s')68else:69waitQuestion('n')70# Wait some seconds71time.sleep(DELAY_RELOAD)72# check if Netedit was crashed during reloading73if NeteditProcess.poll() is not None:74print("TestFunctions: Error reloading Netedit")757677def reloadFile(referencePosition, type: str, multiple: bool):78"""79@brief reload file80"""81extra = 082if (multiple):83extra = 184# move mouse (to avoid problems with file menu)85moveMouse(referencePosition, positions.reference, 200, 0, False)86# open load mean data dialog (because doesn't have shortcut)87typeTwoKeys('alt', 'f')88# continue depending of type89if (type == "network"):90for _ in range(attrs.toolbar.file.reloadNetwork):91typeKey('down')92typeKey('space')93elif (type == "sumoConfig"):94for _ in range(attrs.toolbar.file.sumoConfig.menu):95typeKey('down')96typeKey('space')97for _ in range(attrs.toolbar.file.sumoConfig.reload):98typeKey('down')99typeKey('space')100elif (type == "neteditConfig"):101for _ in range(attrs.toolbar.file.neteditConfig.menu):102typeKey('down')103typeKey('space')104for _ in range(attrs.toolbar.file.neteditConfig.reload):105typeKey('down')106typeKey('space')107elif (type == "trafficLights"):108for _ in range(attrs.toolbar.file.trafficLights.menu):109typeKey('down')110typeKey('space')111for _ in range(attrs.toolbar.file.trafficLights.reload):112typeKey('down')113typeKey('space')114elif (type == "edgeTypes"):115for _ in range(attrs.toolbar.file.edgeTypes.menu):116typeKey('down')117typeKey('space')118for _ in range(attrs.toolbar.file.edgeTypes.reload):119typeKey('down')120typeKey('space')121elif (type == "additional"):122for _ in range(attrs.toolbar.file.aditionalElements.menu):123typeKey('down')124typeKey('space')125for _ in range(attrs.toolbar.file.aditionalElements.reload + extra):126typeKey('down')127typeKey('space')128elif (type == "demand"):129for _ in range(attrs.toolbar.file.demandElements.menu):130typeKey('down')131typeKey('space')132for _ in range(attrs.toolbar.file.demandElements.reload + extra):133typeKey('down')134typeKey('space')135elif (type == "data"):136for _ in range(attrs.toolbar.file.dataElements.menu):137typeKey('down')138typeKey('space')139for _ in range(attrs.toolbar.file.dataElements.reload + extra):140typeKey('down')141typeKey('space')142elif (type == "meanData"):143for _ in range(attrs.toolbar.file.meanDataElements.menu):144typeKey('down')145typeKey('space')146for _ in range(attrs.toolbar.file.meanDataElements.reload + extra):147typeKey('down')148typeKey('space')149time.sleep(2)150151152