Ejemplo n.º 1
0
def main():
    r = get_repository()
    package = r.package("card")
    define(package)
    import logging
    logging.basicConfig(level=logging.INFO)
    r.emitter.emit_package(package, d="./card")
Ejemplo n.º 2
0
def main():
    import argparse
    parser = argparse.ArgumentParser()
    parser.add_argument("src", nargs="?", default=None)
    parser.add_argument("--package", default=None)
    parser.add_argument("--position", default=None)
    parser.add_argument("--writer", default="goaway.writer:Writer")
    parser.add_argument("--emitter", default="goaway.emitter:Emitter")

    args = parser.parse_args()

    logging.basicConfig(level=logging.INFO)
    loading.setup()

    r = get_repository(
        writer_cls=import_symbol(args.writer),
        emitter_cls=import_symbol(args.emitter),
    )

    data = loading.loadfile(args.src)
    package = r.package(args.package or "main")
    walk(data, package, r)

    d = r.resolve_package_path(args.position, package)
    r.emitter.emit_package(package, d=d)
Ejemplo n.º 3
0
def run(package_path, position):
    r = get_repository()

    package = r.package(package_path)

    f = package.file("person.go")
    person = f.struct("person")
    person.define_field("name", f.string)

    f = package.file("group.go")
    group = f.struct("group")
    group.define_field("name", f.string)
    group.define_field("members", person.slice)

    d = r.resolve_package_path(position, package)
    r.emitter.emit_package(package, d=d, onemit=onemit)
Ejemplo n.º 4
0
def main():
    import argparse
    parser = argparse.ArgumentParser()
    parser.add_argument("src", nargs="?", default=None)
    parser.add_argument("--format",
                        choices=loading.get_formats(),
                        default=None)
    parser.add_argument("--dst",
                        default=sys.stdout,
                        type=argparse.FileType("w"))
    parser.add_argument("--ref", default=None)
    parser.add_argument("--package", default=None)
    parser.add_argument("--file", default="main.go")
    parser.add_argument("--position", default=None)
    parser.add_argument("--walker",
                        default="goaway.commands.swagger2go:Walker")
    parser.add_argument("--writer", default="goaway.writer:Writer")
    parser.add_argument("--emitter", default="goaway.emitter:Emitter")
    args = parser.parse_args()

    logging.basicConfig(level=logging.INFO)
    loading.setup()

    r = get_repository(
        writer_cls=import_symbol(args.writer),
        emitter_cls=import_symbol(args.emitter),
    )

    doc = loading.loadfile(args.src)
    package = r.package(args.package or "main")
    walker_cls = import_symbol(args.walker)
    walker = walker_cls(doc, package.file(args.file), r)
    if args.ref:
        walker.walk_ref(args.ref)
    else:
        walker.walk_all()

    d = r.resolve_package_path(args.position, package)
    r.emitter.emit_package(package, d=d)
Ejemplo n.º 5
0
from goaway import get_repository

r = get_repository()
f = r.package("value").file("value.go")

with f.struct("Value", comment="value type") as field:
    field("Name", type=f.string)
    field("Value", type=f.int)

print(r.writer.write(f))
Ejemplo n.º 6
0
 def _makeOne(self, name, as_=None):
     from goaway import get_repository
     return get_repository().package(name, as_)
Ejemplo n.º 7
0
 def _makeFile(self, name, package="main", as_=None):
     from goaway import get_repository
     return get_repository().package(package, as_).file(name)
Ejemplo n.º 8
0
import goaway
from goaway.langhelpers import tostring

r = goaway.get_repository()
f = r.package("status").file("status.go")

status = f.enum("Status", r.string)
with status as member:
    member("ok", "OK")
    member("ng", "NG")

status = f.enum("Priority", r.int64)
with status as member:
    member("High", 1)
    member("Normal", 0)
    member("Low", -1)


if __name__ == "__main__":
    print(r.writer.write_enum(status, f, r.m))
    print(r.writer.write_enum(status, f, r.m))
Ejemplo n.º 9
0
import goaway

r = goaway.get_repository()
f = r.package("main").file("main.go")
fmt = f.import_("fmt")


@f.func("hello")
def hello(m):
    m.stmt(fmt.Println("hello world"))


@f.func("add", args=(r.int("x"), r.int("y")), returns=r.int)
def add(m):
    m.return_("{} + {}".format(add.x, add.y))


@f.func("main")
def main(m):
    m.stmt(hello())
    m.stmt(fmt.Printf("1 + 1 = %d\n", add(1, 2)))


if __name__ == "__main__":
    m = r.writer.write_file(f)
    print(m)
Ejemplo n.º 10
0
def main():
    r = get_repository()
    f = r.package("card").file("card.go")
    define(f)
    print(r.writer.write(f))
Ejemplo n.º 11
0
 def _getRepository(self):
     from goaway import get_repository
     return get_repository()