def setUp(self): if vfs.exists(self.root + 'tmp'): vfs.remove(self.root + 'tmp') vfs.make_folder(self.root + 'tmp') file = vfs.make_file(self.root + 'tmp/blah.txt') file.write("BLAH!!!") file.close()
def test14_remove_folder(self): # Create hierarchy vfs.make_folder('vfs/folder') vfs.make_folder('vfs/folder/a') vfs.make_file('vfs/folder/a/hello.txt') # Remove and test vfs.remove('vfs/folder') self.assertEqual(vfs.exists('vfs/folder'), False)
def removeAutosaveIfExists(self): temp_url = self.stc.getAutosaveTemporaryFilename(self) if temp_url and vfs.exists(temp_url): try: vfs.remove(temp_url) self.dprint(u"Removed autosave file %s" % temp_url) except OSError: self.dprint("Can't remove autosave file %s" % temp_url) self.autosave_valid = False
def processDelete(self): tree = self.popup_options['minor_mode'] macros = tree.getSelectedMacros() retval = self.frame.showQuestionDialog("Are you sure you want to delete:\n\n%s" % ("\n".join([str(m) for m in macros]))) if retval == wx.ID_YES: for macro in macros: vfs.remove(macro) tree.update() RecentMacros.validateAll()
def test20_append(self): # Initialize with vfs.make_file('vfs/toto.txt') as file: file.write('hello\n') # Test with vfs.open('vfs/toto.txt', vfs.APPEND) as file: file.write('bye\n') self.assertEqual(open('vfs/toto.txt').read(), 'hello\nbye\n') # Remove temporary file vfs.remove('vfs/toto.txt')
def test21_write(self): # Initialize with vfs.make_file('vfs/truncate.txt') as file: file.write('hello there\n') # Test with vfs.open('vfs/truncate.txt', vfs.WRITE) as file: file.write('bye\n') self.assertEqual(open('vfs/truncate.txt').read(), 'bye\n') # Remove temporary file vfs.remove('vfs/truncate.txt')
def test00_get(self): filename = 'vfs/perms.txt' with vfs.make_file(filename) as file: file.write('test\n') perms = vfs.get_permissions(filename) self.assert_(perms.is_mode_set('user', 'read')) perms.set_mode('user', 'execute', True) vfs.set_permissions(filename, perms) perms = vfs.get_permissions(filename) self.assert_(perms.is_mode_set('user', 'execute')) vfs.remove(filename)
def restoreFromAutosaveIfExists(self): temp_url = self.stc.getAutosaveTemporaryFilename(self) if temp_url and vfs.exists(temp_url): # If the original URL no longer exists, the autosave file will be # removed without prompting. if vfs.exists(self.url) and vfs.get_mtime(temp_url) >= vfs.get_mtime(self.url) and vfs.get_size(temp_url) > 0: # backup file is newer than saved file. dlg = CustomOkDialog(wx.GetApp().GetTopWindow(), u"Autosave file for %s\nis newer than last saved version.\n\nRestore from autosave file?" % self.url, "Restore from Autosave", "Ignore Autosave") retval=dlg.ShowModal() dlg.Destroy() if retval==wx.ID_OK: self.dprint(u"Recovering from autosave file %s" % temp_url) self.revert(temp_url, allow_undo=True) self.modified = True wx.CallAfter(self.showModifiedAll) else: vfs.remove(temp_url)
def test29_remove(self): url = self.root + 'tmp/dir' vfs.make_folder(url) vfs.remove(url) self.assertEqual(vfs.exists(url), False) # Create hierarchy vfs.make_folder(self.root + 'tmp3') vfs.exists(self.root + 'tmp3') vfs.make_folder(self.root + 'tmp3/folder') vfs.exists(self.root + 'tmp3/folder') vfs.make_folder(self.root + 'tmp3/folder/a') vfs.exists(self.root + 'tmp3/folder/a') fh = vfs.make_file(self.root + 'tmp3/folder/a/hello.txt') fh.write("blah") fh.close() vfs.exists(self.root + 'tmp3/folder/a/hello.txt') # Remove and test vfs.remove(self.root + 'tmp3/folder') self.assertEqual(vfs.exists(self.root + 'tmp3/folder'), False)
def tearDown(self): if vfs.exists(self.root + "tmp"): vfs.remove(self.root + "tmp") if vfs.exists(self.root + "tmp2"): vfs.remove(self.root + "tmp2") if vfs.exists(self.root + "testfile.txt"): vfs.remove(self.root + "testfile.txt")
def tearDown(self): if vfs.exists(self.root + 'tmp'): vfs.remove(self.root + 'tmp') if vfs.exists(self.root + 'tmp2'): vfs.remove(self.root + 'tmp2') if vfs.exists(self.root + 'testfile.txt'): vfs.remove(self.root + 'testfile.txt')
def backupCallback(self): # This is only called once, the first time the document is modified, # regardless of the outcome of this method. self.backup_saved = True if not vfs.exists(self.url): # The url may point to a nonexistent file because the user has # created a new file. New files aren't saved in the vfs until the # user explicitly saves it, so because it doesn't exist in the vfs # it won't need to be backed up. return try: temp_url = self.stc.getBackupTemporaryFilename(self) if temp_url: if vfs.exists(temp_url): vfs.remove(temp_url) vfs.copy(self.url, temp_url) except NotImplementedError: # Some URI schemes won't be writable, so don't cause a failure in # this case; just ignore it. pass
def restoreFromAutosaveIfExists(self): temp_url = self.stc.getAutosaveTemporaryFilename(self) if temp_url and vfs.exists(temp_url): # If the original URL no longer exists, the autosave file will be # removed without prompting. if vfs.exists( self.url) and vfs.get_mtime(temp_url) >= vfs.get_mtime( self.url) and vfs.get_size(temp_url) > 0: # backup file is newer than saved file. dlg = CustomOkDialog( wx.GetApp().GetTopWindow(), u"Autosave file for %s\nis newer than last saved version.\n\nRestore from autosave file?" % self.url, "Restore from Autosave", "Ignore Autosave") retval = dlg.ShowModal() dlg.Destroy() if retval == wx.ID_OK: self.dprint(u"Recovering from autosave file %s" % temp_url) self.revert(temp_url, allow_undo=True) self.modified = True wx.CallAfter(self.showModifiedAll) else: vfs.remove(temp_url)
def test_simple(self): vfs.make_folder(self.root + "tmp") file = vfs.make_file(self.root + "tmp/blah.txt") file.write("BLAH!!!") file.close() # Probably too loose of a test, but the modification time has a 10 # second window for correctness mtime = vfs.get_mtime(self.root + "tmp/blah.txt") current = datetime.now() assert abs(mtime - current) < timedelta(10) file = vfs.open(self.root + "tmp/blah.txt") self.assertEqual(file.read(), "BLAH!!!") assert vfs.exists(self.root + "tmp") names = vfs.get_names(self.root) assert "tmp" in names names = vfs.get_names(self.root + "tmp") assert "blah.txt" in names vfs.remove(self.root + "tmp") assert not vfs.exists(self.root + "tmp") assert not vfs.exists(self.root + "tmp/blah.txt")
def test_simple(self): vfs.make_folder(self.root + 'tmp') file = vfs.make_file(self.root + 'tmp/blah.txt') file.write("BLAH!!!") file.close() # Probably too loose of a test, but the modification time has a 10 # second window for correctness mtime = vfs.get_mtime(self.root + 'tmp/blah.txt') current = datetime.now() assert abs(mtime - current) < timedelta(10) file = vfs.open(self.root + 'tmp/blah.txt') self.assertEqual(file.read(), 'BLAH!!!') assert vfs.exists(self.root + 'tmp') names = vfs.get_names(self.root) assert "tmp" in names names = vfs.get_names(self.root + 'tmp') assert "blah.txt" in names vfs.remove(self.root + 'tmp') assert not vfs.exists(self.root + 'tmp') assert not vfs.exists(self.root + 'tmp/blah.txt')
def test29_remove(self): url = 'mem:testfile.txt.old' vfs.remove(url) self.assertEqual(vfs.exists(url), False) url = 'mem:test/dir' vfs.make_folder(url) vfs.remove(url) self.assertEqual(vfs.exists(url), False) # Create hierarchy vfs.make_folder('mem:tests/folder') vfs.make_folder('mem:tests/folder/a') vfs.make_file('mem:tests/folder/a/hello.txt') # Remove and test vfs.remove('mem:tests/folder') self.assertEqual(vfs.exists('mem:tests/folder'), False)
def test12_remove_file(self): vfs.remove('vfs/file') self.assertEqual(vfs.exists('vfs/file'), False)
def handleFileDrop(self, x, y, filenames): self.dprint("%d file(s) dropped at %d,%d:" % (len(filenames), x, y)) srcdir = None tocopy = [] for src in filenames: filename = os.path.basename(src) if not srcdir: srcdir = os.path.dirname(src) srcdir += os.pathsep if os.path.isdir(src): self.dprint("dir: %s" % src) for root, dirs, files in os.walk(src): for file in files: child = os.path.join(root, file) self.dprint(" file: %s" % child) tocopy.append(child) elif os.path.isfile(src): self.dprint("file: %s" % src) tocopy.append(src) else: self.dprint("not file or dir: %s NOT COPYING" % src) self.status_info.startProgress("Copying...", len(tocopy), delay=1.0) count = 0 skipped = 0 errors = [] for src in tocopy: try: srcref = vfs.get_file_reference(src) relsrc = src[len(srcdir):] relref = vfs.get_file_reference(relsrc) dest = self.url.resolve2(relref) self.dprint("srcref=%s, relref=%s, dest=%s" % (srcref, relref, dest)) self.dprint("copying: '%s' -> '%s'" % (src, dest)) self.status_info.updateProgress(count, "Copying to %s" % str(dest)) destdir = vfs.get_dirname(dest) if not vfs.exists(destdir): # Need to recursively make directories dirs = [] parent = destdir maxdepth = len(parent.path) while not vfs.exists(parent) and maxdepth > 0: dirs.append(parent) parent = vfs.get_dirname(parent) maxdepth -= 1 dirs.reverse() for dir in dirs: self.dprint("Creating dir: %s" % dir) vfs.make_folder(dir) copy = True self.dprint("src path: %s" % srcref.path) self.dprint("dest path: %s" % dest.path) if vfs.exists(dest): self.dprint("exists: %s" % str(dest)) if vfs.is_folder(dest): errors.append("Not copying folder %s; shouldn't be specified from %s" % (dest, src)) copy = False else: dlg = CustomOkDialog(self.frame, u"File exists! Replace\n\n%s, %s, %s\n\nwith:\n\n%s, %s, %s" % (dest, vfs.get_mtime(dest), vfs.get_size(dest), src, os.path.getmtime(src), os.path.getsize(src)), "Replace", "Skip") retval=dlg.ShowModal() dlg.Destroy() copy = retval==wx.ID_OK if copy: self.dprint("Removing %s" % dest) vfs.remove(dest) if copy: vfs.copy(srcref, dest) else: skipped += 1 except Exception, e: errors.append("%s: %s" % (src, e)) count += 1
def test18_get_names(self): self.assertEqual('hello.txt.old' in vfs.get_names('vfs'), True) # Remove temporary file vfs.remove('vfs/hello.txt.old')
def tearDown(self): if vfs.exists('vfs-tmp'): vfs.remove('vfs-tmp')
def test13_remove_empty_folder(self): vfs.remove('vfs/folder') self.assertEqual(vfs.exists('vfs/folder'), False)