Make the immutable/read-only constraint checking for MDMF URIs identical to that...
authordavid-sarah <david-sarah@jacaranda.org>
Tue, 23 Aug 2011 01:27:20 +0000 (18:27 -0700)
committerdavid-sarah <david-sarah@jacaranda.org>
Tue, 23 Aug 2011 01:27:20 +0000 (18:27 -0700)
src/allmydata/uri.py

index 50b04ca8205cb58e341bcb0d65d2500cd3313407..5da7c0a6893cccc9e8449827939f1d07a14fef0d 100644 (file)
@@ -913,9 +913,13 @@ def from_string(u, deep_immutable=False, name=u"<unknown name>"):
         elif s.startswith('URI:SSK-Verifier:'):
             return SSKVerifierURI.init_from_string(s)
         elif s.startswith('URI:MDMF:'):
-            return WriteableMDMFFileURI.init_from_string(s)
+            if can_be_writeable:
+                return WriteableMDMFFileURI.init_from_string(s)
+            kind = "URI:MDMF file writecap"
         elif s.startswith('URI:MDMF-RO:'):
-            return ReadonlyMDMFFileURI.init_from_string(s)
+            if can_be_mutable:
+                return ReadonlyMDMFFileURI.init_from_string(s)
+            kind = "URI:MDMF-RO readcap to a mutable file"
         elif s.startswith('URI:MDMF-Verifier:'):
             return MDMFVerifierURI.init_from_string(s)
         elif s.startswith('URI:DIR2:'):