示例#1
0
文件: conf2.py 项目: rrader/system-sw
@cont.state(STATE_PROP_VALUE_QUOTED_CONT, (False, STATE_PROP_VALUE_QUOTED_CONT))
def handler(char, context):
    context.propval += char

# STATE_PROP_VALUE_CONT
@cont.state(STATE_PROP_VALUE_CONT, (SMB_CONT, STATE_PROP_VALUE_CONT))
def handler(char, context):
    context.propval += char
@cont.state(STATE_PROP_VALUE_CONT, (';', STATE_INSIDE_SECTION))
def handler(char, context):
    context.properties.append( (context.propname, context.propval) )


STATEOL_INSIDE, STATEOL_OUTSIDE = range(2)
oneline = Context()
cont.add_trigger('#', oneline, STATEOL_OUTSIDE)

# STATE_PROP_VALUE_CONT
@oneline.state(STATEOL_INSIDE, ('\n', STATEOL_OUTSIDE))
def handler(char, context):
    context.stop(pushback='\n')
oneline.state_noaction(STATEOL_INSIDE, (False, STATEOL_INSIDE))
oneline.state_noaction(STATEOL_OUTSIDE, ('#', STATEOL_INSIDE))

STATEML_INSIDE, STATEML_PROB_INSIDE, STATEML_OUTSIDE, STATEML_PROB_OUTSIDE = range(4)
multiline = Context()
cont.add_trigger('/', multiline, STATEML_OUTSIDE)

# STATE_PROP_VALUE_CONT
multiline.state_noaction(STATEML_OUTSIDE, ('/', STATEML_PROB_INSIDE))
@multiline.state(STATEML_PROB_INSIDE, (False, STATEML_OUTSIDE))