import os
-
+from cStringIO import StringIO
from twisted.python import usage, failure
+
from allmydata.scripts.common import BaseOptions
from .common import BaseOptions, BasedirOptions, get_aliases
from .cli import MakeDirectoryOptions
+
class CreateOptions(BasedirOptions):
nickname = None
localdir = None
class InviteOptions(BasedirOptions):
nickname = None
synopsis = "MAGIC_ALIAS: NICKNAME"
+ stdin = StringIO("")
def parseArgs(self, alias, nickname=None):
BasedirOptions.parseArgs(self)
- print "InviteOptions parseArgs() alias %s nickname %s" % (alias, nickname,)
self.alias = alias
self.nickname = nickname
node_url_file = os.path.join(self['node-directory'], "node.url")
self['node-url'] = open(node_url_file, "r").read().strip()
-
aliases = get_aliases(self['node-directory'])
- print "ALIASES %s" % (aliases,)
self.aliases = aliases
def invite(options):
from allmydata.scripts import tahoe_mkdir
- mkdirOptions = MakeDirectoryOptions()
- mkdirOptions.where = options.nickname
- mkdirOptions.stdout = options.stdout
- mkdirOptions.stdin = options.stdin
- mkdirOptions.stderr = options.stderr
- mkdirOptions['node-url'] = options['node-url']
- mkdirOptions.aliases = options.aliases
- mkdirOptions['node-directory'] = options['node-directory']
- rc = tahoe_mkdir.mkdir(mkdirOptions)
+ mkdir_options = MakeDirectoryOptions()
+ mkdir_options.where = "%s:%s" % (options.alias, options.nickname)
+ mkdir_options.stdout = options.stdout
+ mkdir_options.stdin = options.stdin
+ mkdir_options.stderr = options.stderr
+ mkdir_options['node-url'] = options['node-url']
+ mkdir_options.aliases = options.aliases
+ mkdir_options['node-directory'] = options['node-directory']
+ rc = tahoe_mkdir.mkdir(mkdir_options)
+ if rc != 0:
+ return rc
+ write_capability = mkdir_options.stdout.getvalue().strip()
+ print "\nNEW write cap %s" % (write_capability,)
return rc
class JoinOptions(BasedirOptions):
class CreateMagicFolder(GridTestMixin, CLITestMixin, unittest.TestCase):
def _create_magic_folder(self):
- d = self.do_cli("magic-folder", "create", "my_magic_folder")
+ d = self.do_cli("magic-folder", "create", "magic")
def _done((rc,stdout,stderr)):
- self.failUnless("Alias 'my_magic_folder' created" in stdout)
+ self.failUnless("Alias 'magic' created" in stdout)
self.failIf(stderr)
aliases = get_aliases(self.get_clientdir())
- self.failUnless("my_magic_folder" in aliases)
- self.failUnless(aliases["my_magic_folder"].startswith("URI:DIR2:"))
+ self.failUnless("magic" in aliases)
+ self.failUnless(aliases["magic"].startswith("URI:DIR2:"))
d.addCallback(_done)
return d
- def test_create(self):
- self.basedir = "cli/MagicFolder/create"
- self.set_up_grid()
- return self._create_magic_folder()
-
def _invite(self, ignore):
- d = self.do_cli("magic-folder", "invite", "magicFolder1", "Nicki")
+ d = self.do_cli("magic-folder", "invite", "magic", u"Alice:")
return d
- def test_invite(self):
- self.basedir = "cli/MagicFolder/invite"
+ def test_create_invite_join(self):
+ self.basedir = "cli/MagicFolder/create-invite-join"
self.set_up_grid()
d = self._create_magic_folder()
d.addCallback(self._invite)