File read-only check supports YAML
authorJeremy Stanley <fungi@yuggoth.org>
Fri, 13 Jun 2014 00:25:05 +0000 (00:25 +0000)
committerJeremy Stanley <fungi@yuggoth.org>
Fri, 13 Jun 2014 00:25:05 +0000 (00:25 +0000)
* lib/mudpy/data.py(DataFile.is_writeable): Add support for determining
read-only status of YAML data files.

lib/mudpy/data.py

index b97a8a3..9ee09e1 100644 (file)
@@ -271,14 +271,20 @@ class DataFile:
             # unset the modified flag
             self.modified = False
 
-    # TODO(fungi): this should support writing YAML
     def is_writeable(self):
         """Returns True if the __control__ read_only is False."""
-        return not self.data.has_option(
-            "__control__", "read_only"
-        ) or not self.data.getboolean(
-            "__control__", "read_only"
-        )
+        # TODO(fungi): remove this indirection after the YAML transition
+        if self._format == "yaml":
+            try:
+                return not self.data["__control__"].get("read_only", False)
+            except KeyError:
+                return True
+        else:
+            return not self.data.has_option(
+                "__control__", "read_only"
+            ) or not self.data.getboolean(
+                "__control__", "read_only"
+            )
 
 
 def find_file(