Example #1
0
def call_with_continuation_prompt(args, env, cont):
    if not args:
        raise SchemeException(
            "call-with-continuation-prompt: not given enough values")
    parser = ArgParser("call-with-continuation-prompt", args)
    tag = values.w_default_continuation_prompt_tag
    handler = values.w_false
    fun = parser.expect(values.W_Object)

    try:
        tag = parser.expect(values.W_ContinuationPromptTag)
        handler = parser.expect(values.W_Object)
    except EndOfInput:
        pass

    args = parser.expect_many(values.W_Object)
    if not fun.iscallable():
        raise SchemeException(
            "call-with-continuation-prompt: not given callable function")
    if handler is not values.w_false and not handler.iscallable():
        raise SchemeException(
            "call-with-continuation-prompt: not given callable handler")
    if handler is values.w_false:
        handler = None
    cont = Prompt(tag, handler, env, cont)
    return fun.call(args, env, cont)
Example #2
0
def make_logger(args):
    parser = ArgParser("make-logger", args)

    topic = values.w_false
    parent = values.w_false
    propagate_level = DEBUG

    try:
        topic = parser.expect(values.W_Symbol, values.w_false)
        parent = parser.expect(values.W_Logger, values.w_false)
        propagate_level = parser.expect(*LOG_LEVEL)
    except EndOfInput:
        pass

    # Any remaining arguments are propagate topics
    propagate_topic = parser.expect_many(values.W_Symbol, values.w_false)

    return values.W_Logger(topic, parent, propagate_level, propagate_topic)
Example #3
0
def make_logger(args):
    parser = ArgParser("make-logger", args)

    topic           = values.w_false
    parent          = values.w_false
    propagate_level = DEBUG

    try:
        topic = parser.expect(values.W_Symbol, values.w_false)
        parent = parser.expect(values.W_Logger, values.w_false)
        propagate_level = parser.expect(*LOG_LEVEL)
    except EndOfInput:
        pass

    # Any remaining arguments are propagate topics
    propagate_topic = parser.expect_many(values.W_Symbol, values.w_false)

    return values.W_Logger(topic, parent, propagate_level, propagate_topic)
Example #4
0
def make_logger(args):
    parser = ArgParser("make-logger", args)

    topic           = values.w_false
    parent          = values.w_false
    propagate_level = DEBUG # propagate everything

    try:
        topic = parser.expect(values.W_Symbol, values.w_false)
        parent = parser.expect(values.W_Logger, values.w_false)
        propagate_level = parser.expect(*LOG_LEVEL)
    except EndOfInput:
        pass

    # Any remaining arguments are propagate topics
    propagate_topic = parser.expect_many(values.W_Symbol, values.w_false)

    init_syslog_level = w_main_logger.get_syslog_level()
    init_stderr_level = w_main_logger.get_stderr_level()
    init_stdout_level = w_main_logger.get_stdout_level()

    return values.W_Logger(topic, parent, propagate_level, propagate_topic, init_syslog_level, init_stderr_level, init_stdout_level)
Example #5
0
def call_with_continuation_prompt(args, env, cont):
    if not args:
        raise SchemeException("call-with-continuation-prompt: not given enough values")
    parser  = ArgParser("call-with-continuation-prompt", args)
    tag     = values.w_default_continuation_prompt_tag
    handler = values.w_false
    fun     = parser.expect(values.W_Object)

    try:
        tag     = parser.expect(values.W_ContinuationPromptTag)
        handler = parser.expect(values.W_Object)
    except EndOfInput:
        pass

    args = parser.expect_many(values.W_Object)
    if not fun.iscallable():
        raise SchemeException("call-with-continuation-prompt: not given callable function")
    if handler is not values.w_false and not handler.iscallable():
        raise SchemeException("call-with-continuation-prompt: not given callable handler")
    if handler is values.w_false:
        handler = None
    cont = Prompt(tag, handler, env, cont)
    return fun.call(args, env, cont)
Example #6
0
def make_logger(args):
    parser = ArgParser("make-logger", args)

    topic = values.w_false
    parent = values.w_false
    propagate_level = DEBUG  # propagate everything

    try:
        topic = parser.expect(values.W_Symbol, values.w_false)
        parent = parser.expect(values.W_Logger, values.w_false)
        propagate_level = parser.expect(*LOG_LEVEL)
    except EndOfInput:
        pass

    # Any remaining arguments are propagate topics
    propagate_topic = parser.expect_many(values.W_Symbol, values.w_false)

    init_syslog_level = w_main_logger.get_syslog_level()
    init_stderr_level = w_main_logger.get_stderr_level()
    init_stdout_level = w_main_logger.get_stdout_level()

    return values.W_Logger(topic, parent, propagate_level, propagate_topic,
                           init_syslog_level, init_stderr_level,
                           init_stdout_level)