From 4f2df30807d145ff78ca7db8ca5601187e1f6e03 Mon Sep 17 00:00:00 2001 From: hut Date: Mon, 23 Nov 2009 22:27:15 +0100 Subject: in directory.py raise errors if not loaded yet --- code/directory.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'code') diff --git a/code/directory.py b/code/directory.py index d8855432..e28bf35c 100644 --- a/code/directory.py +++ b/code/directory.py @@ -1,8 +1,10 @@ class FrozenException(Exception): pass +class NotLoadedYet(Exception): pass class Directory(): def __init__(self, path): self.path = path + self.accessible = False self.files_loaded = False self.scheduled = False self.files = None @@ -17,9 +19,11 @@ class Directory(): try: self.files = os.listdir(self.path) self.exists = True + self.accessible = True except OSError: - self.files = [] + self.files = None self.exists = False + self.accessible = False self.files_loaded = True def clone(self): @@ -34,9 +38,11 @@ class Directory(): return clone def __len__(self): + if not self.accessible: raise NotLoadedYet() return len(self.files) def __getitem__(self, key): + if not self.accessible: raise NotLoadedYet() return self.files[key] if __name__ == '__main__': -- cgit 1.4.1-2-gfad0