def setUp(self): self.tempdir = tempfile.mkdtemp("autofs") self.inst = instance.Instance.create(self.tempdir) self.server = network.start_server(self.inst) gevent.sleep(1) self.pc = network.connect(None, ("127.0.0.1", 1234)) userconfig._uc = {"peerid": "254af13a-e698-11e1-a3d2-68a86d09cc32"}
def main(): if len(sys.argv) < 2: print( """Usage: \tautofs command instance-name Commands: \tserve \tbundle""" ) sys.exit(1) # TODO: unicode? command = sys.argv[1].decode() instance_path = os.path.realpath(sys.argv[2]).decode() command_args = [s.decode() for s in sys.argv[3:]] gevent.signal(signal.SIGQUIT, gevent.shutdown) if command == "serve": inst = instance.Instance.load(instance_path) # ls = local.start_server(ctx, inst) rs = network.start_server(inst) # glets = [ls, rs] # gevent.joinall(glets) rs.join() elif command == "connect": # Client? inst = instance.Instance.load(instance_path) ls = local.start_server(inst) pf = network.find_peers(inst) glets = [ls, pf] gevent.joinall(glets) # "Offline" commands elif command == "init": if not os.path.isdir(instance_path): os.makedirs(instance_path) instance.Instance.create(instance_path) else: print("Instance already exists at {}".format(instance_path)) elif command == "join": if len(command_args) == 0: print("Usage: autofs join instance-name remote-host") if os.path.isdir(instance_path): print("Cannot join using an existing instance") inst = cmd_join.join(instance_path, command_args[0]) elif sys.argv[1] == "bundle": if len(command_args) == 0: print("Usage: autofs bundle instance-name target-dir") sys.exit(1) if not os.path.isdir(instance_path): os.makedirs(instance_path) inst = instance.Instance.create(instance_path) else: inst = instance.Instance.load(instance_path) cmd_bundle.bundle(inst, command_args[0]) inst.save() print("Done") elif sys.argv[1] == "list": inst = instance.Instance.load(instance_path) cmd_list.list_items(inst) else: print("Unrecognized command {}".format(command)) sys.exit(1)