def test_delete(self): """ file deletion """ content = 'print "Hello World!"\n' f = File('data/foo.py') self.assertEqual(f.exists, False) # Create the file. f.create_file(content) self.assertEqual(f.exists, True) self.failUnlessRaises(ValueError, f.create_file, content) self.assertEqual(f.children, None) self.assertEqual(f.ext, '.py') self.assertEqual(f.is_file, True) self.assertEqual(f.is_folder, False) self.assertEqual(f.mime_type, 'text/x-python') self.assertEqual(f.name, 'foo') self.assertEqual(f.path, 'data/foo.py') # Delete it. f.delete() self.assertEqual(f.exists, False) # Attempt to delete a non-existet file (should do nothing). f = File('data/bogus.py') self.assertEqual(f.exists, False) f.delete() self.assertEqual(f.exists, False) return
def test_delete(self): """ folder deletion """ f = File('data/sub') self.assertEqual(f.exists, False) # Create the folder. f.create_folder() self.assertEqual(f.exists, True) self.failUnlessRaises(ValueError, f.create_folder) self.assertEqual(len(f.children), 0) self.assertEqual(f.ext, '') self.assertEqual(f.is_file, False) self.assertEqual(f.is_folder, True) self.assertEqual(f.mime_type, 'content/unknown') self.assertEqual(f.name, 'sub') self.assertEqual(f.path, 'data/sub') # Delete it. f.delete() self.assertEqual(f.exists, False) # Attempt to delete a non-existet folder (should do nothing). f = File('data/bogus') self.assertEqual(f.exists, False) f.delete() self.assertEqual(f.exists, False) return
def test_properties(self): """ file properties """ # Properties of a non-existent file. f = File('data/bogus.xx') self.assert_(os.path.abspath(os.path.curdir) in f.absolute_path) self.assertEqual(f.children, None) self.assertEqual(f.ext, '.xx') self.assertEqual(f.exists, False) self.assertEqual(f.is_file, False) self.assertEqual(f.is_folder, False) self.assertEqual(f.is_package, False) self.assertEqual(f.is_readonly, False) self.assertEqual(f.mime_type, 'content/unknown') self.assertEqual(f.name, 'bogus') self.assertEqual(f.parent.path, 'data') self.assertEqual(f.path, 'data/bogus.xx') self.assert_(os.path.abspath(os.path.curdir) in f.url) self.assertEqual(str(f), 'File(%s)' % f.path) # Properties of an existing file. f = File('data/foo.py') f.create_file() self.assert_(os.path.abspath(os.path.curdir) in f.absolute_path) self.assertEqual(f.children, None) self.assertEqual(f.ext, '.py') self.assertEqual(f.exists, True) self.assertEqual(f.is_file, True) self.assertEqual(f.is_folder, False) self.assertEqual(f.is_package, False) self.assertEqual(f.is_readonly, False) self.assertEqual(f.mime_type, 'text/x-python') self.assertEqual(f.name, 'foo') self.assertEqual(f.parent.path, 'data') self.assertEqual(f.path, 'data/foo.py') self.assert_(os.path.abspath(os.path.curdir) in f.url) # Make it readonly. os.chmod(f.path, stat.S_IRUSR) self.assertEqual(f.is_readonly, True) # And then make it NOT readonly so that we can delete it at the end of # the test! os.chmod(f.path, stat.S_IRUSR | stat.S_IWUSR) self.assertEqual(f.is_readonly, False) return
def test_create_file(self): """ file creation """ content = 'print "Hello World!"\n' f = File('data/foo.py') self.assertEqual(f.exists, False) # Create the file. f.create_file(content) self.assertEqual(f.exists, True) self.assertEqual(file(f.path).read(), content) # Try to create it again. self.failUnlessRaises(ValueError, f.create_file, content) return
def test_create_folder(self): """ folder creation """ f = File('data/sub') self.assertEqual(f.exists, False) # Create the folder. f.create_folder() self.assertEqual(f.exists, True) parent = File('data') self.assertEqual(len(parent.children), 1) self.assertEqual(parent.children[0].path, join('data', 'sub')) # Try to create it again. self.failUnlessRaises(ValueError, f.create_folder) return
def OnData(self, x, y, default_drag_result): """ Called when OnDrop returns True. """ # First, if we have a source in the clipboard and the source # doesn't allow moves then change the default to copy if clipboard.drop_source is not None and \ not clipboard.drop_source.allow_move: default_drag_result = wx.DragCopy elif clipboard.drop_source is None: # This means we might be receiving a file; try to import # the right packages to nicely handle a file drop. If those # packages can't be imported, then just pass through. if self.GetData(): try: from enthought.io import File from enthought.naming.api import Binding names = self.file_data.GetFilenames() files = [] bindings = [] for name in names: f = File(name) files.append(f) bindings.append(Binding(name=name, obj=f)) clipboard.data = files clipboard.node = bindings except ImportError: pass # Pass the object on the clipboard it to the handler. # # fixme: We allow 'wx_dropped_on' and 'on_drop' because both Dave # and Martin want different things! Unify! if hasattr(self.handler, 'wx_dropped_on'): drag_result = self.handler.wx_dropped_on(x, y, clipboard.data, default_drag_result) elif hasattr(self.handler, 'on_drop'): drag_result = self.handler.on_drop(x, y, clipboard.data, default_drag_result) else: self.handler(x, y, clipboard.data) drag_result = default_drag_result # Let the source of the drag/drop know that the operation is complete. drop_source = clipboard.drop_source if drop_source is not None: drop_source.on_dropped(drag_result) # Clean out the drop source! clipboard.drop_source = None # The return value tells the source what to do with the original data # (move, copy, etc.). In this case we just return the suggested value # given to us. return default_drag_result
def test_create_folders(self): """ nested folder creation """ f = File('data/sub/foo') self.assertEqual(f.exists, False) # Attempt to create the folder with 'create_folder' which requires # that all intermediate folders exist. self.failUnlessRaises(OSError, f.create_folder) # Create the folder. f.create_folders() self.assertEqual(f.exists, True) self.assertEqual(File('data/sub').exists, True) # Try to create it again. self.failUnlessRaises(ValueError, f.create_folders) return
def test_copy(self): """ file copy """ content = 'print "Hello World!"\n' f = File('data/foo.py') self.assertEqual(f.exists, False) # Create the file. f.create_file(content) self.assertEqual(f.exists, True) self.failUnlessRaises(ValueError, f.create_file, content) self.assertEqual(f.children, None) self.assertEqual(f.ext, '.py') self.assertEqual(f.is_file, True) self.assertEqual(f.is_folder, False) self.assertEqual(f.mime_type, 'text/x-python') self.assertEqual(f.name, 'foo') self.assertEqual(f.path, 'data/foo.py') # Copy the file. g = File('data/bar.py') self.assertEqual(g.exists, False) f.copy(g) self.assertEqual(g.exists, True) self.assertEqual(g.children, None) self.assertEqual(g.ext, '.py') self.assertEqual(g.is_file, True) self.assertEqual(g.is_folder, False) self.assertEqual(g.mime_type, 'text/x-python') self.assertEqual(g.name, 'bar') self.assertEqual(g.path, 'data/bar.py') # Attempt to copy a non-existent file (should do nothing). f = File('data/bogus.xx') self.assertEqual(f.exists, False) g = File('data/bogus_copy.py') self.assertEqual(g.exists, False) f.copy(g) self.assertEqual(g.exists, False) return
def test_properties(self): """ folder properties """ # Properties of a non-existent folder. f = File('data/bogus') self.assert_(os.path.abspath(os.path.curdir) in f.absolute_path) self.assertEqual(f.children, None) self.assertEqual(f.ext, '') self.assertEqual(f.exists, False) self.assertEqual(f.is_file, False) self.assertEqual(f.is_folder, False) self.assertEqual(f.is_package, False) self.assertEqual(f.is_readonly, False) self.assertEqual(f.mime_type, 'content/unknown') self.assertEqual(f.name, 'bogus') self.assertEqual(f.parent.path, 'data') self.assertEqual(f.path, 'data/bogus') self.assert_(os.path.abspath(os.path.curdir) in f.url) self.assertEqual(str(f), 'File(%s)' % f.path) # Properties of an existing folder. f = File('data/sub') f.create_folder() self.assert_(os.path.abspath(os.path.curdir) in f.absolute_path) self.assertEqual(len(f.children), 0) self.assertEqual(f.ext, '') self.assertEqual(f.exists, True) self.assertEqual(f.is_file, False) self.assertEqual(f.is_folder, True) self.assertEqual(f.is_package, False) self.assertEqual(f.is_readonly, False) self.assertEqual(f.mime_type, 'content/unknown') self.assertEqual(f.name, 'sub') self.assertEqual(f.parent.path, 'data') self.assertEqual(f.path, 'data/sub') self.assert_(os.path.abspath(os.path.curdir) in f.url) # Make it readonly. os.chmod(f.path, stat.S_IRUSR) self.assertEqual(f.is_readonly, True) # And then make it NOT readonly so that we can delete it at the end of # the test! os.chmod(f.path, stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR) self.assertEqual(f.is_readonly, False) # Properties of a Python package folder. f = File('data/package') f.create_folder() init = File('data/package/__init__.py') init.create_file() self.assert_(os.path.abspath(os.path.curdir) in f.absolute_path) self.assertEqual(len(f.children), 1) self.assertEqual(f.ext, '') self.assertEqual(f.exists, True) self.assertEqual(f.is_file, False) self.assertEqual(f.is_folder, True) self.assertEqual(f.is_package, True) self.assertEqual(f.is_readonly, False) self.assertEqual(f.mime_type, 'content/unknown') self.assertEqual(f.name, 'package') self.assertEqual(f.parent.path, 'data') self.assertEqual(f.path, 'data/package') self.assert_(os.path.abspath(os.path.curdir) in f.url) return
def test_copy(self): """ folder copy """ f = File('data/sub') self.assertEqual(f.exists, False) # Create the folder. f.create_folder() self.assertEqual(f.exists, True) self.failUnlessRaises(ValueError, f.create_folder) self.assertEqual(len(f.children), 0) self.assertEqual(f.ext, '') self.assertEqual(f.is_file, False) self.assertEqual(f.is_folder, True) self.assertEqual(f.mime_type, 'content/unknown') self.assertEqual(f.name, 'sub') self.assertEqual(f.path, 'data/sub') # Copy the folder. g = File('data/copy') self.assertEqual(g.exists, False) f.copy(g) self.assertEqual(g.exists, True) self.assertEqual(len(g.children), 0) self.assertEqual(g.ext, '') self.assertEqual(g.is_file, False) self.assertEqual(g.is_folder, True) self.assertEqual(g.mime_type, 'content/unknown') self.assertEqual(g.name, 'copy') self.assertEqual(g.path, 'data/copy') # Attempt to copy a non-existent folder (should do nothing). f = File('data/bogus') self.assertEqual(f.exists, False) g = File('data/bogus_copy') self.assertEqual(g.exists, False) f.copy(g) self.assertEqual(g.exists, False) return