From d0f80579a502e36f8dda7e0c697435e8a66e413f Mon Sep 17 00:00:00 2001
From: Brian Warner <warner@lothar.com>
Date: Thu, 25 Jun 2009 23:32:30 -0700
Subject: [PATCH] repairer: raise a better exception when faced with a readonly
 filenode. Still produces an error, though.

---
 src/allmydata/mutable/repairer.py | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/allmydata/mutable/repairer.py b/src/allmydata/mutable/repairer.py
index b7d49bcd..d04e3c69 100644
--- a/src/allmydata/mutable/repairer.py
+++ b/src/allmydata/mutable/repairer.py
@@ -11,6 +11,9 @@ class RepairResults:
     def to_string(self):
         return ""
 
+class RepairRequiresWritecapError(Exception):
+    """Repair currently requires a writecap."""
+    
 class MustForceRepairError(Exception):
     pass
 
@@ -86,7 +89,8 @@ class Repairer:
         # available, to avoid the extra roundtrip that would occur if we,
         # say, added an smap.get_privkey() method.
 
-        assert self.node.get_writekey() # repair currently requires a writecap
+        if not self.node.get_writekey():
+            raise RepairRequiresWritecapError("Sorry, repair currently requires a writecap, to set the write-enabler properly.")
 
         best_version = smap.best_recoverable_version()
         d = self.node.download_version(smap, best_version, fetch_privkey=True)
-- 
2.45.2