示例#1
0
文件: workbook.py 项目: croft/netgen
def cmd_delete_users(args):
    manager = WorkbookManager(args.workspace)
    result = manager.deleteusers(args.users,
                                 workbook_id=getattr(args, "workbook_id",
                                                     None),
                                 workbook_name=getattr(args, "workbook_name",
                                                       None))
示例#2
0
文件: workbook.py 项目: croft/netgen
def cmd_create_template(args):
    manager = WorkbookManager(args.workspace)
    try:
        wbt = manager.create_template(open(args.json).read())
        print("created template with id '%s'" % wbt.id(), file=sys.stderr)
    except WorkbookException as ex:
        print(str(ex))
        sys.exit(1)
示例#3
0
文件: workbook.py 项目: croft/netgen
def cmd_refresh(args):
    manager = WorkbookManager(args.workspace)
    wbs = find_workbooks(manager, args)
    payload = json.dumps({"name": args.group})
    for wb in wbs:
        print("refreshing workbook '%s'" % wb.id(), file=sys.stderr)
        message = json.loads(manager.refresh(wb.id(), payload))
        if 'errors' in message:
            for e in message['errors']:
                print("Warning:" + e)
示例#4
0
文件: workbook.py 项目: croft/netgen
def cmd_instantiate(args):
    manager = WorkbookManager(args.workspace)
    try:
        wb = manager.instantiate(open(args.json).read())
        if (args.verbose):
            pretty_print(json.dumps(wb.json))
        else:
            print("created workbook with id '%s'" % wb.id(), file=sys.stderr)
    except WorkbookException as ex:
        print(str(ex))
        sys.exit(1)
示例#5
0
文件: workbook.py 项目: croft/netgen
def cmd_create(args):
    try:
        spec_string = open(args.json).read()
        spec = json.loads(spec_string)
        workspace = spec['parent_workbook']['workspace_name']
        manager = WorkbookManager(workspace)
        wb = manager.create(spec_string)
        if (args.verbose):
            pretty_print(json.dumps(wb.json))
        print("created workbook with id '%s'" % wb.id(), file=sys.stderr)
    except Exception as e:
        print("Failed to create workbook:\n%s" % e, file=sys.stderr)
        sys.exit(1)
示例#6
0
文件: workbook.py 项目: croft/netgen
def cmd_list_templates(args):
    manager = WorkbookManager(args.workspace)
    result = manager.list_templates(template_name=args.template_name,
                                    template_id=args.template_id)
    if args.csv != None:
        import csv
        writer = csv.writer(sys.stdout,
                            delimiter=args.delimiter,
                            quotechar="\"",
                            lineterminator="\n")
        for wbt in result:
            writer.writerow([wbt.json[v] for v in args.csv])
    else:
        for wbt in result:
            pretty_print(json.dumps(wbt.json))
示例#7
0
文件: workbook.py 项目: croft/netgen
def cmd_delete_template(args):
    manager = WorkbookManager(args.workspace)

    # note: we can just ignore the all flag.
    templates = manager.list_templates(template_name=args.template_name,
                                       template_id=args.template_id)

    # only raise an error if the option '--all' is not used
    if len(templates) == 0:
        if args.template_id is not None:
            raise lb_exception.LBCommandError("template '%s' not found" %
                                              args.template_id)
        if args.template_name is not None:
            raise lb_exception.LBCommandError("template '%s' not found" %
                                              args.template_name)

    for wbt in templates:
        print("deleting template '%s'" % wbt.id(), file=sys.stderr)
        manager.delete_template(wbt.id())
示例#8
0
文件: workbook.py 项目: croft/netgen
def cmd_delete(args):
    manager = WorkbookManager(args.workspace)
    if args.all:
        msg = json.loads(manager.delete_all())
    else:
        if args.workbook_name:
            wbs = find_workbooks(manager, args)
            ids = [wb.id() for wb in wbs]
        else:
            ids = args.workbook_id
        print("Deleting " + ",".join(ids))
        msg = json.loads(manager.delete(ids))

    if ('deleted' in msg):
        print("Deleted %s" % ",".join([id for id in msg['deleted']]))
    if ('already_deleted' in msg):
        print("%s was/were already deleted " %
              ",".join([id for id in msg['already_deleted']]))
    if ('not_found' in msg):
        print("%s was/were not found " %
              ",".join([id for id in msg['not_found']]))
示例#9
0
文件: workbook.py 项目: croft/netgen
def cmd_list(args):
    manager = WorkbookManager(args.workspace)

    # We're not using find_workbooks because we do not want to fail if
    # there are no workbooks.
    wbs = manager.list(workbook_name=args.workbook_name,
                       workbook_id=args.workbook_id,
                       output=args.output,
                       include_deleted=args.include_deleted,
                       template_name=args.template_name)

    if args.csv != None:
        import csv
        writer = csv.writer(sys.stdout,
                            delimiter=args.delimiter,
                            quotechar="\"",
                            lineterminator="\n")
        # TODO add support for template_name
        for wb in wbs:
            writer.writerow([wb.json.get(v, None) for v in args.csv])
    else:
        pretty_print(json.dumps([wb.json for wb in wbs]))