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)
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")
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)
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))
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())