[kupfer] objects: Catch OSError inside DirectorySource.get_items()



commit 512e64f5ae0e1e64646972cf2307c7c8fc2a9e54
Author: Ulrik Sverdrup <ulrik sverdrup gmail com>
Date:   Mon Nov 2 20:58:28 2009 +0100

    objects: Catch OSError inside DirectorySource.get_items()
    
    When we try to load a directory that doesn't exist, we catch the error
    and print it, rather than leaving it to a bigger exception spill
    higher up.
    
    Right now it's the responsibility of the User to configure directories
    correctly.
    
    Launchpad bug https://bugs.launchpad.net/kupfer/+bug/471462

 kupfer/objects.py |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)
---
diff --git a/kupfer/objects.py b/kupfer/objects.py
index d42aa04..778da98 100644
--- a/kupfer/objects.py
+++ b/kupfer/objects.py
@@ -874,9 +874,12 @@ class DirectorySource (Source, PicklingHelperMixin, FilesystemWatchMixin):
 		self.monitor = self.monitor_directories(self.directory)
 
 	def get_items(self):
-		for fname in os.listdir(self.directory):
-			if self.show_hidden or not fname.startswith("."):
-				yield ConstructFileLeaf(path.join(self.directory, fname))
+		try:
+			for fname in os.listdir(self.directory):
+				if self.show_hidden or not fname.startswith("."):
+					yield ConstructFileLeaf(path.join(self.directory, fname))
+		except OSError, exc:
+			self.output_error(exc)
 
 	def should_sort_lexically(self):
 		return True



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]