revert 'change to new visibility spec'

nicos is not yet ready for this

Change-Id: Ibfbb7e32e06a6e0616ded8342bc5844fd531944f
This commit is contained in:
zolliker 2025-04-24 11:08:34 +02:00
parent dc87a50c76
commit 9a818ab40b
3 changed files with 10 additions and 20 deletions

View File

@ -1238,16 +1238,6 @@ class OrType(DataType):
raise WrongTypeError(f"Invalid Value, must conform to one of {', '.join(str(t) for t in self.types)}")
LEGACY_VISIBILITY = {'user': 'www', 1: 'www', 'advanced': 'ww-', 2: 'ww-', 'expert': 'w--', 3: 'w--'}
def visibility_validator(value):
value = LEGACY_VISIBILITY.get(value, value)
if len(value) == 3 and set(value) <= set('wr-'):
return value
raise RangeError(f'{value!r} is not a valid visibility')
Int8 = IntRange(-(1 << 7), (1 << 7) - 1)
Int16 = IntRange(-(1 << 15), (1 << 15) - 1)
Int32 = IntRange(-(1 << 31), (1 << 31) - 1)

View File

@ -27,9 +27,9 @@ import time
import threading
from collections import OrderedDict
from frappy.datatypes import ArrayOf, BoolType, FloatRange, IntRange, NoneOr, \
StringType, TextType, TupleOf, ValueType, visibility_validator
from frappy.datatypes import ArrayOf, BoolType, EnumType, FloatRange, \
IntRange, StringType, TextType, TupleOf, \
NoneOr
from frappy.errors import BadValueError, CommunicationFailedError, ConfigError, \
ProgrammingError, SECoPError, secop_error, RangeError
from frappy.lib import formatException, mkthread, UniqueObject
@ -306,8 +306,8 @@ class Module(HasAccessibles):
description = Property('description of the module', TextType(), extname='description', mandatory=True)
meaning = Property('optional meaning indicator', TupleOf(StringType(), IntRange(0, 50)),
default=('', 0), extname='meaning')
visibility = Property('optional visibility hint', ValueType(visibility_validator),
default='www', extname='visibility')
visibility = Property('optional visibility hint', EnumType('visibility', user=1, advanced=2, expert=3),
default='user', extname='visibility')
implementation = Property('internal name of the implementation class of the module', StringType(),
extname='implementation')
interface_classes = Property('offical highest interface-class of the module', ArrayOf(StringType()),

View File

@ -26,7 +26,7 @@ import inspect
from frappy.datatypes import ArrayOf, BoolType, CommandType, DataType, \
DataTypeType, EnumType, FloatRange, NoneOr, OrType, StringType, StructOf, \
TextType, TupleOf, ValueType, visibility_validator
TextType, TupleOf, ValueType
from frappy.errors import BadValueError, ProgrammingError, WrongTypeError
from frappy.lib import generalConfig
from frappy.properties import HasProperties, Property
@ -152,8 +152,8 @@ class Parameter(Accessible):
'optional parameter group this parameter belongs to', StringType(),
extname='group', default='')
visibility = Property(
'optional visibility hint', ValueType(visibility_validator),
extname='visibility', default='www')
'optional visibility hint', EnumType('visibility', user=1, advanced=2, expert=3),
extname='visibility', default=1)
constant = Property(
'optional constant value for constant parameters', ValueType(),
extname='constant', default=None)
@ -367,8 +367,8 @@ class Command(Accessible):
'optional command group of the command.', StringType(),
extname='group', export=True, default='')
visibility = Property(
'optional visibility hint', ValueType(visibility_validator),
extname='visibility', export=True, default='www')
'optional visibility hint', EnumType('visibility', user=1, advanced=2, expert=3),
extname='visibility', export=True, default=1)
export = Property(
'''[internal] export settings