Beispiel #1
0
    def __init__(self, sn):
        check_schema(
            sn,
            "classstandard",
            ["standard", "labeling", "body"],
            ["group", "year", "status", "replaces", "description"],
        )
        Designation.__init__(self)

        if isinstance(sn["standard"], str):
            self.standard = Identifier({"nice": sn["standard"]})
        else:
            self.standard = Identifier(sn["standard"])
        if "group" in sn:
            if isinstance(sn["group"], str):
                self.group = Identifier({"nice": sn["group"]})
            else:
                self.group = Identifier(sn["group"])
        else:
            self.group = Identifier({"nice": ""})
        if isinstance(sn["labeling"], str):
            self.labeling = Substitution({"nice": sn["labeling"]})
        else:
            self.labeling = Substitution(sn["labeling"])

        self.body = sn["body"]
        self.year = sn.get("year", None)
        self.status = sn.get("status", "active")

        self.replacedby = None

        self.replaces = sn.get("replaces", None)
        self.description = sn.get("description", "")
Beispiel #2
0
    def __init__(self, cn):
        check_schema(cn, "classname", ["name", "labeling"], ["description", "group"])
        Designation.__init__(self)

        try:
            if isinstance(cn["name"], str):
                self.name = Identifier({"nice": cn["name"]})
            else:
                self.name = Identifier(cn["name"])
            if isinstance(cn["labeling"], str):
                self.labeling = Substitution({"nice": cn["labeling"]})
            else:
                self.labeling = Substitution(cn["labeling"])
        except ParsingError as e:
            e.set_class(self.id)
            raise e

        self.description = cn.get("description", "")

        if "group" in cn:
            if isinstance(cn["group"], str):
                self.group = Identifier({"nice": cn["group"]})
            else:
                self.group = Identifier(cn["group"])
        else:
            self.group = Identifier({"nice": ""})
Beispiel #3
0
class ClassName(Designation):
    """
	Python class to provide a name for a BOLTS class, corresponding to a
	ClassNameElement in the blt file.
	"""
    def __init__(self, cn):
        check_schema(cn, "classname", ["name", "labeling"],
                     ["description", "group"])
        Designation.__init__(self)

        try:
            if isinstance(cn['name'], str):
                self.name = Identifier({'nice': cn['name']})
            else:
                self.name = Identifier(cn['name'])
            if isinstance(cn['labeling'], str):
                self.labeling = Substitution({'nice': cn['labeling']})
            else:
                self.labeling = Substitution(cn['labeling'])
        except ParsingError as e:
            e.set_class(self.id)
            raise e

        self.description = cn.get('description', '')

        if 'group' in cn:
            if isinstance(cn['group'], str):
                self.group = Identifier({'nice': cn['group']})
            else:
                self.group = Identifier(cn['group'])
        else:
            self.group = Identifier({'nice': ""})

    def get_id(self):
        return self.name.get_safe()
Beispiel #4
0
class ClassName(Designation):
    """
	Python class to provide a name for a BOLTS class, corresponding to a
	ClassNameElement in the blt file.
	"""

    def __init__(self, cn):
        check_schema(cn, "classname", ["name", "labeling"], ["description", "group"])
        Designation.__init__(self)

        try:
            if isinstance(cn["name"], str):
                self.name = Identifier({"nice": cn["name"]})
            else:
                self.name = Identifier(cn["name"])
            if isinstance(cn["labeling"], str):
                self.labeling = Substitution({"nice": cn["labeling"]})
            else:
                self.labeling = Substitution(cn["labeling"])
        except ParsingError as e:
            e.set_class(self.id)
            raise e

        self.description = cn.get("description", "")

        if "group" in cn:
            if isinstance(cn["group"], str):
                self.group = Identifier({"nice": cn["group"]})
            else:
                self.group = Identifier(cn["group"])
        else:
            self.group = Identifier({"nice": ""})

    def get_id(self):
        return self.name.get_safe()
Beispiel #5
0
    def __init__(self, sn):
        check_schema(sn, 'classstandard', ['standard', 'labeling', 'body'],
                     ['group', 'year', 'status', 'replaces', 'description'])
        Designation.__init__(self)

        if isinstance(sn['standard'], str):
            self.standard = Identifier({'nice': sn['standard']})
        else:
            self.standard = Identifier(sn['standard'])
        if 'group' in sn:
            if isinstance(sn['group'], str):
                self.group = Identifier({'nice': sn['group']})
            else:
                self.group = Identifier(sn['group'])
        else:
            self.group = Identifier({'nice': ""})
        if isinstance(sn['labeling'], str):
            self.labeling = Substitution({'nice': sn['labeling']})
        else:
            self.labeling = Substitution(sn['labeling'])

        self.body = sn['body']
        self.year = sn.get('year', None)
        self.status = sn.get('status', 'active')

        self.replacedby = None

        self.replaces = sn.get('replaces', None)
        self.description = sn.get('description', '')
Beispiel #6
0
    def __init__(self, cn):
        check_schema(cn, "classname", ["name", "labeling"],
                     ["description", "group"])
        Designation.__init__(self)

        try:
            if isinstance(cn['name'], str):
                self.name = Identifier({'nice': cn['name']})
            else:
                self.name = Identifier(cn['name'])
            if isinstance(cn['labeling'], str):
                self.labeling = Substitution({'nice': cn['labeling']})
            else:
                self.labeling = Substitution(cn['labeling'])
        except ParsingError as e:
            e.set_class(self.id)
            raise e

        self.description = cn.get('description', '')

        if 'group' in cn:
            if isinstance(cn['group'], str):
                self.group = Identifier({'nice': cn['group']})
            else:
                self.group = Identifier(cn['group'])
        else:
            self.group = Identifier({'nice': ""})
Beispiel #7
0
class ClassStandard(Designation):
    """
	Python class to provide a standard name for a BOLTS class, corresponding to a
	ClassStandardElement in the blt file.
	"""

    def __init__(self, sn):
        check_schema(
            sn,
            "classstandard",
            ["standard", "labeling", "body"],
            ["group", "year", "status", "replaces", "description"],
        )
        Designation.__init__(self)

        if isinstance(sn["standard"], str):
            self.standard = Identifier({"nice": sn["standard"]})
        else:
            self.standard = Identifier(sn["standard"])
        if "group" in sn:
            if isinstance(sn["group"], str):
                self.group = Identifier({"nice": sn["group"]})
            else:
                self.group = Identifier(sn["group"])
        else:
            self.group = Identifier({"nice": ""})
        if isinstance(sn["labeling"], str):
            self.labeling = Substitution({"nice": sn["labeling"]})
        else:
            self.labeling = Substitution(sn["labeling"])

        self.body = sn["body"]
        self.year = sn.get("year", None)
        self.status = sn.get("status", "active")

        self.replacedby = None

        self.replaces = sn.get("replaces", None)
        self.description = sn.get("description", "")

    def get_id(self):
        return self.standard.get_safe()
Beispiel #8
0
class ClassStandard(Designation):
    """
	Python class to provide a standard name for a BOLTS class, corresponding to a
	ClassStandardElement in the blt file.
	"""
    def __init__(self, sn):
        check_schema(sn, 'classstandard', ['standard', 'labeling', 'body'],
                     ['group', 'year', 'status', 'replaces', 'description'])
        Designation.__init__(self)

        if isinstance(sn['standard'], str):
            self.standard = Identifier({'nice': sn['standard']})
        else:
            self.standard = Identifier(sn['standard'])
        if 'group' in sn:
            if isinstance(sn['group'], str):
                self.group = Identifier({'nice': sn['group']})
            else:
                self.group = Identifier(sn['group'])
        else:
            self.group = Identifier({'nice': ""})
        if isinstance(sn['labeling'], str):
            self.labeling = Substitution({'nice': sn['labeling']})
        else:
            self.labeling = Substitution(sn['labeling'])

        self.body = sn['body']
        self.year = sn.get('year', None)
        self.status = sn.get('status', 'active')

        self.replacedby = None

        self.replaces = sn.get('replaces', None)
        self.description = sn.get('description', '')

    def get_id(self):
        return self.standard.get_safe()
Beispiel #9
0
EndTrackTag = CaselessKeyword('endtrack')

Environment = oneOf('flat mountains canyon tunnel')
TrackPrefix = \
    DecimalNum('length') + \
    DecimalNum('width') + \
    DecimalNum('friction') + \
    DecimalNum('sound_dist') + \
    UIntNum('quality') + \
    UIntNum('damage_flag') + \
    Environment('environment') 

TrackSuffix = \
    Optional(CaselessKeyword('velocity') + DecimalNum('velocity')) + \
    Group(Each([
        Optional(CaselessKeyword('event0') + Identifier('event0')), \
        Optional(CaselessKeyword('event1') + Identifier('event1')), \
        Optional(CaselessKeyword('event2') + Identifier('event2')), \
        Optional(CaselessKeyword('isolated') + Identifier('isolated')) \
    ]))('events')

VisTag = CaselessKeyword('vis').setParseAction(replaceWith(True))('visible')
UnvisTag = CaselessKeyword('unvis').setParseAction(replaceWith(False))('visible')

TrackMaterialParams = \
    Group(
        FileName('tex') + \
        DecimalNum('scale'))('rail') + \
    Group(
        FileName('tex') + \
        DecimalNum('height') + \
Beispiel #10
0
             'service.member.names',
             'table.fields',
         ])
]

# Deny rule to apply to FIDL primitives.
FIDL_PRIMITIVE = [
    Deny(
        styles=['lower'],
        uses=[
            'service.member.types',  # FIDL compiler disallows primitives here.
        ])
]

IDENTIFIERS = [
    Identifier('abstract', RUST_KEYWORD),
    Identifier('alignas'),
    Identifier('alignof'),
    Identifier('and'),
    Identifier('and_eq'),
    Identifier('as', RUST_KEYWORD),
    Identifier('asm'),
    Identifier('assert'),
    Identifier('async', RUST_KEYWORD),
    Identifier('atomic_cancel'),
    Identifier('atomic_commit'),
    Identifier('atomic_noexcept'),
    Identifier('auto'),
    Identifier('await', RUST_KEYWORD),
    Identifier('become', RUST_KEYWORD),
    Identifier('bitand'),
Beispiel #11
0
from decimal import Decimal

from common import DecimalNum, Identifier, Position

# common 
EventTag = CaselessKeyword('event')
EndEventTag = CaselessKeyword('endevent')
CommandValue = DecimalNum | Keyword('*')

# lights event
LightState = oneOf('0 1 2')
LightState.setParseAction(lambda tokens: int(tokens[0]))

Lights = \
    EventTag + \
    Identifier('name') + \
    CaselessKeyword('lights') + \
    DecimalNum('delay') + \
    Identifier('target') + \
    OneOrMore(LightState)('state') + \
    EndEventTag

# animation event
Animation = \
    EventTag + \
    Identifier('name') + \
    CaselessKeyword('animation') + \
    DecimalNum('delay') + \
    Identifier('target') + \
    oneOf('rotate translate', caseless=True)('kind') + \
    Identifier('submodel') + \