]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/commitdiff
Touch up #705 changes:
authorBrian Warner <warner@lothar.com>
Mon, 20 Jul 2009 15:38:03 +0000 (11:38 -0400)
committerBrian Warner <warner@lothar.com>
Mon, 20 Jul 2009 15:38:03 +0000 (11:38 -0400)
 webapi.txt: clarify replace=only-files argument, mention replace= on POST t=uri
 test_cli.py: insert whitespace between logical operations
 web.common.parse_replace_arg: make it case-insensitive, to match the docs

docs/frontends/webapi.txt
src/allmydata/test/test_cli.py
src/allmydata/web/common.py

index 6d196756b697251e19e5eee593a5293ecc413fd9..199e4b28c42148bb3c85347d612d51fd067ded92 100644 (file)
@@ -566,16 +566,16 @@ PUT /uri/$DIRCAP/[SUBDIRS../]CHILDNAME?t=uri
   request, and this same cap is returned in the response body.
 
   The default behavior is to overwrite any existing object at the same
-  location. To prevent this (and make the operation return an error instead of
-  overwriting), add a "replace=false" argument, as "?t=uri&replace=false". With
-  replace=false, this operation will return an HTTP 409 "Conflict" error if
-  there is already an object at the given location, rather than overwriting the
-  existing object. Note that "true", "t", and "1" are all synonyms for "True",
-  and "false", "f", and "0" are synonyms for "False". the parameter is
-  case-insensitive. If you want this behavior only if there is an existing 
-  directory at the same location (that is, you want the operation to return an
-  error if there is a directory at the same name, but to succeed if there is a
-  file), add a "replace=only-files" argument, as "?t=uri&replace=only-files".
+  location. To prevent this (and make the operation return an error instead
+  of overwriting), add a "replace=false" argument, as "?t=uri&replace=false".
+  With replace=false, this operation will return an HTTP 409 "Conflict" error
+  if there is already an object at the given location, rather than
+  overwriting the existing object. To allow the operation to overwrite a
+  file, but return an error when trying to overwrite a directory, use
+  "replace=only-files" (this behavior is closer to the traditional unix "mv"
+  command). Note that "true", "t", and "1" are all synonyms for "True", and
+  "false", "f", and "0" are synonyms for "False", and the parameter is
+  case-insensitive.
 
 === Deleting a File or Directory ===
 
@@ -822,6 +822,8 @@ POST /uri/$DIRCAP/[SUBDIRS../]?t=uri&name=CHILDNAME&uri=CHILDCAP
  /uri/$DIRCAP/[SUBDIRS../]", it is likely that the parent directory will
  already exist.
 
+ This accepts the same replace= argument as POST t=upload.
+
 === Deleting A Child ===
 
 POST /uri/$DIRCAP/[SUBDIRS../]?t=delete&name=CHILDNAME
index b31a44506eb08ce15ff2c4e80100abe8e78646e8..94e64d2e5d73ce137197709cd1e4665192f0bb50 100644 (file)
@@ -805,12 +805,14 @@ class Mv(GridTestMixin, CLITestMixin, unittest.TestCase):
             self.do_cli("cp", fn1, "tahoe:"))
         d.addCallback(lambda res:
             self.do_cli("cp", fn2, "tahoe:"))
-        # do mv file1 file3 
+
+        # do mv file1 file3
         # (we should be able to rename files)
         d.addCallback(lambda res:
             self.do_cli("mv", "tahoe:file1", "tahoe:file3"))
         d.addCallback(lambda (rc, out, err):
             self.failUnlessIn("OK", out, "mv didn't rename a file"))
+
         # do mv file3 file2
         # (This should succeed without issue)
         d.addCallback(lambda res:
@@ -818,11 +820,13 @@ class Mv(GridTestMixin, CLITestMixin, unittest.TestCase):
         # Out should contain "OK" to show that the transfer worked.
         d.addCallback(lambda (rc,out,err):
             self.failUnlessIn("OK", out, "mv didn't output OK after mving"))
+
         # Next, make a remote directory.
         d.addCallback(lambda res:
             self.do_cli("mkdir", "tahoe:directory"))
+
         # mv file2 directory
-        # (should fail with a descriptive error message; the CLI mv 
+        # (should fail with a descriptive error message; the CLI mv
         #  client should support this)
         d.addCallback(lambda res:
             self.do_cli("mv", "tahoe:file2", "tahoe:directory"))
@@ -830,6 +834,7 @@ class Mv(GridTestMixin, CLITestMixin, unittest.TestCase):
             self.failUnlessIn(
                 "Error: You can't overwrite a directory with a file", err,
                 "mv shouldn't overwrite directories" ))
+
         # mv file2 directory/
         # (should succeed by making file2 a child node of directory)
         d.addCallback(lambda res:
@@ -850,6 +855,7 @@ class Mv(GridTestMixin, CLITestMixin, unittest.TestCase):
         d.addCallback(lambda (rc, out, err):
             self.failUnlessIn("404", err,
                             "mv left the source file intact"))
+
         # Let's build:
         # directory/directory2/some_file
         # directory3
@@ -859,6 +865,7 @@ class Mv(GridTestMixin, CLITestMixin, unittest.TestCase):
             self.do_cli("cp", fn2, "tahoe:directory/directory2/some_file"))
         d.addCallback(lambda res:
             self.do_cli("mkdir", "tahoe:directory3"))
+
         # Let's now try to mv directory/directory2/some_file to
         # directory3/some_file
         d.addCallback(lambda res:
index 0de47717675d8260a92b3cca1d29f141289b0989..15462cff335ea39b0f4945f82641876b17a6a49d 100644 (file)
@@ -22,7 +22,7 @@ def boolean_of_arg(arg):
     return arg.lower() in ("true", "t", "1", "on")
 
 def parse_replace_arg(replace):
-    if replace == "only-files":
+    if replace.lower() == "only-files":
         return replace
     else:
         return boolean_of_arg(replace)