Example #1
0
def hello(*, name: str) -> None:
    """hello message"""
    from egoist import runtime
    from egoist.generate import clikit

    with runtime.generate(clikit):
        runtime.printf("hello %s\n", name)
Example #2
0
def slacksend(*, config: str) -> GoError:
    """send message to slack channel"""
    from egoist.generate.clikit import clikit
    from egoist.go import di

    with runtime.generate(clikit) as m:
        context = m.import_("context")
        ctx = m.let("ctx", context.Background())

        b = di.Builder()
        b.add_provider(config_pkg.LoadConfig)
        b.add_provider(api_pkg.NewClient)
        b.add_provider(api_pkg.NewAPI)

        injector = b.build(variables={"config_file": config})
        api = injector.inject(m)

        args = runtime.get_cli_rest_args()
        with m.for_(f"_, text := range {args}"):
            with m.if_(
                    "err := {}; err != nil",
                    api.Send(ctx, m.symbol("text"), _to_str("random")),
            ):
                m.return_("err")
        m.return_("nil")
Example #3
0
def hello(*, name: str) -> None:
    """hello message"""
    from egoist.generate.clikit import clikit

    with runtime.generate(clikit) as m:
        args = runtime.get_cli_rest_args()
        target = m.symbol("target")
        with m.for_(f"_, {target} := range {args}"):
            runtime.printf("%s: hello %s\n", name, target)
Example #4
0
def hello(*, config: str) -> None:
    """hello message"""
    from egoist.generate.clikit import clikit
    from egoist.internal.graph import Builder
    from egoist.generate.go import di

    with runtime.generate(clikit) as m:
        b = Builder()
        b.add_node(**di.parse(internal.NewConfig))

        g = b.build()
        variables = di.primitives(g, {**locals(), "filename": config})
        config = di.inject(m, g, variables=variables)

        fmt = m.import_("fmt")
        m.stmt(fmt.Println(config.LogLevel))
Example #5
0
def use(*, grumby: bool) -> None:
    from egoist.generate.clikit import clikit
    from egoist.generate.go import di
    from egoist.internal.graph import Builder

    args = runtime.get_args()
    args.grumby.help = "grumby? what is this?"

    with runtime.generate(clikit) as m:
        b = Builder()

        b.add_node(**di.parse(internal.NewEvent))
        b.add_node(**di.parse(internal.NewGreeter))
        b.add_node(**di.parse(internal.NewMessage))

        g = b.build()

        event = di.inject(m, g, variables=di.primitives(g, locals()))
        m.stmt(event.Start())