def __getCurrentVehicleClasses(self, updateDict): return { vehClass for vehClass in VEHICLE_CLASS_NAME.ALL() if (self._filters[vehClass] or updateDict.get(vehClass)) and updateDict.get(vehClass) is not False }
def switch(self, key, save=True): updateDict = {key: not self._filters[key]} if key in VEHICLE_CLASS_NAME.ALL() and len( self.__getCurrentVehicleClasses(updateDict)) != 1: updateDict.update(self.__resetRoles()) if updateDict: self.update(updateDict, save)
def getTooltip(self): eventType = self._event.getType() limits = self._event.getLimits() if eventType == _et.NATION: nationsList = limits.getNations() full = set(NationNames) == set(nationsList) nations = ', \n'.join([ getNationText(value) for value in GUI_NATIONS if value in nationsList ]) result = TOOLTIPS.elen_task_eventtype_full( eventType) if full else _ms( TOOLTIPS.elen_task_eventtype_notfull(eventType), nations=nations) elif eventType == _et.CLASS: typeList = limits.getVehiclesClasses() full = set(VEHICLE_CLASS_NAME.ALL()) == set(typeList) types = ', \n'.join([vehicleTypeText(value) for value in typeList]) result = TOOLTIPS.elen_task_eventtype_full( eventType) if full else _ms( TOOLTIPS.elen_task_eventtype_notfull(eventType), classes=types) elif eventType == _et.LEVEL: levelList = limits.getVehiclesLevels() full = set(LEVELS_RANGE) == set(limits.getVehiclesLevels()) levels = ', '.join([int2roman(value) for value in levelList]) result = TOOLTIPS.elen_task_eventtype_full( eventType) if full else _ms( TOOLTIPS.elen_task_eventtype_notfull(eventType), levels=levels) else: result = _ms(TOOLTIPS.elen_task_eventtype_notfull(eventType)) return makeTooltip(body=result)
def switch(self, key, save=True): updateDict = {key: not self._filters[key]} if key in VEHICLE_CLASS_NAME.ALL(): updateDict = self.__switchRoleFiltersByVehicleClass( updateDict, key) elif key in VEHICLE_ACTION_GROUPS_LABELS: updateDict = self.__switchRoleFiltersByKey(updateDict, key) if updateDict: self.update(updateDict, save)
def __getFirstClassAvailableRole(self, key): currentClasses = self.__getCurrentVehicleClasses() if self._filters[key]: currentClasses.discard(key) currentClasses = currentClasses or set(VEHICLE_CLASS_NAME.ALL()) else: currentClasses.add(key) availableRoles = set() for vehClass in currentClasses: availableRoles.update( VEHICLE_ACTION_GROUPS_LABELS_BY_CLASS[vehClass]) for role in VEHICLE_ACTION_GROUPS_LABELS: if role in availableRoles: return role _logger.error( 'There is no available role in current vehicle classes. Forced AnyRole on.' ) return _NOT_DEFINED
def __getCurrentVehicleClasses(self): return { vehClass for vehClass in VEHICLE_CLASS_NAME.ALL() if self._filters[vehClass] }