Exemplo n.º 1
0
  def testCompleteWithCompleter(self):
    """Verify that the 'completer' argument works as expected."""
    def localFileCompleter(parser, values, word):
      """A completer for files in the current working directory."""
      for value in listdir():
        if value.startswith(word):
          yield value

    def doTest(parser, args):
      """Perform the completion test."""
      with TemporaryDirectory() as dir_,\
           NamedTemporaryFile(dir=dir_) as f1,\
           NamedTemporaryFile(dir=dir_) as f2,\
           NamedTemporaryFile(dir=dir_) as f3,\
           NamedTemporaryFile(dir=dir_) as f4,\
           NamedTemporaryFile(dir=dir_) as f5:
        all_files = set(map(basename, {f1.name, f2.name, f3.name, f4.name, f5.name}))

        old_cwd = getcwd()
        chdir(dir_)
        try:
          self.performCompletion(parser, args + [""], all_files | {"-h", "--help"})
          self.performCompletion(parser, args + ["no-file", ""], all_files | {"-h", "--help"})
        finally:
          chdir(old_cwd)

    parser = CompletingArgumentParser(prog="completer")
    parser.add_argument("test", completer=localFileCompleter, nargs="+")
    doTest(parser, [])

    parser = CompletingArgumentParser(prog="subcompleter")
    subparsers = parser.add_subparsers()
    subparser = subparsers.add_parser("subparser")
    subparser.add_argument("test", completer=localFileCompleter, nargs="+")
    doTest(parser, ["subparser"])
Exemplo n.º 2
0
  def testCompletionWithSubparser(self):
    """Verify that completion also works with sub parsers."""
    parser = CompletingArgumentParser(prog="subfoo", add_help=False)
    parser.add_argument("pos")
    parser.add_argument("--foo", action="store_true")

    subparsers = parser.add_subparsers()
    bar = subparsers.add_parser("bar", add_help=False)
    bar.add_argument("fooz")
    bar.add_argument("-b", "--baz", action="store_true")

    foobar = subparsers.add_parser("foobar")
    foobar.add_argument("--foobar", action="store_true")

    subparsers2 = foobar.add_subparsers()
    foobarbaz = subparsers2.add_parser("foobarbaz", add_help=False)
    foobarbaz.add_argument("--test", action="store_true")

    self.performCompletion(parser, ["-"], {"--foo"})
    self.performCompletion(parser, ["b"], {"bar"})
    self.performCompletion(parser, ["bar", ""], {"-b", "--baz"})
    self.performCompletion(parser, ["bar", "hallo", ""], {"-b", "--baz"})
    self.performCompletion(parser, ["positional", "bar", "hallo", ""], {"-b", "--baz"})
    self.performCompletion(parser, ["foobar", ""], {"foobarbaz", "-h", "--foobar", "--help"})
    self.performCompletion(parser, ["--foo", "foobar", ""], {"foobarbaz", "-h", "--foobar", "--help"})
    self.performCompletion(parser, ["foobar", "--f"], {"--foobar"})
    self.performCompletion(parser, ["foobar", "f"], {"foobarbaz"})
    self.performCompletion(parser, ["foobar", "--foobar", "foobarbaz", ""], {"--test"})
    self.performCompletion(parser, ["--foo", "foobar", "foobarbaz", ""], {"--test"})
Exemplo n.º 3
0
  def testSubparsersCanCompleteSubCommands(self):
    """Verify that sub parsers can complete arguments themselves."""
    root = CompletingArgumentParser(prog="root", add_help=False)
    root.add_argument("--rootopt", action="store_true")

    subparsers = root.add_subparsers()
    sub1 = subparsers.add_parser("sub1", add_help=False, help="Perform sub1.")
    sub1.add_argument("-s", "--sub1opt", action="store_true")

    sub2 = subparsers.add_parser("sub2", add_help=False)
    sub2.add_argument("-s", "--sub2opt", action="store_true")

    subparsers2 = sub2.add_subparsers()
    sub21 = subparsers2.add_parser("sub21", help="Perform sub21.")
    sub21.add_argument("--sub21opt", action="store_true")

    self.performCompletion(root, [""], {"--rootopt", "sub1", "sub2"})
    self.performCompletion(sub1, [""], {"-s", "--sub1opt"})
    self.performCompletion(sub1, ["--"], {"--sub1opt"})
    self.performCompletion(sub2, [""], {"sub21", "-s", "--sub2opt"})
    self.performCompletion(sub21, [""], {"-h", "--help", "--sub21opt"})
Exemplo n.º 4
0
        # Finally initialize everything else (e.g., optimizer)
        init_op = tf.global_variables_initializer()
        sess.run(init_op)

        # Restore checkpoint
        tf_helpers.maching_variable_restore(sess, args.checkpoint)
        # trainer.saver.restore(sess, args.checkpoint)

        evaluator.evaluation_step(name="Evaluation")


if __name__ == "__main__":
    parser = ArgumentParser(prog='eknog',
                            description="Learning KG embeddings made easy.")
    subparsers = parser.add_subparsers()

    parser.add_argument('--debug',
                        action='store_true',
                        help="Activate Tensorflow-Debugging.")

    # Training Mode
    train_cmd = subparsers.add_parser(
        name="train",
        help="Train a model (new or continue from saved checkpoint)")
    train_cmd.set_defaults(func=train)

    train_cmd.add_argument('--model',
                           '-m',
                           type=str,
                           default="TransE",