예제 #1
0
 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')
예제 #2
0
 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")
예제 #3
0
 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')
예제 #4
0
    def test00_existence(self):
        exists = vfs.exists(self.root + "fdsfsf")
        self.assertEqual(exists, False)

        # All the following should be synonyms
        exists = vfs.exists(self.root + "tmp")
        self.assertEqual(exists, True)
        exists = vfs.exists(self.root + "//tmp")
        self.assertEqual(exists, True)
        exists = vfs.exists(self.root + "///tmp")
        self.assertEqual(exists, True)
예제 #5
0
 def test00_existence(self):
     exists = vfs.exists('mem:fdsfsf')
     self.assertEqual(exists, False)
     
     # All the following should be synonyms
     exists = vfs.exists('mem:tmp')
     self.assertEqual(exists, True)
     exists = vfs.exists('mem://tmp')
     self.assertEqual(exists, True)
     exists = vfs.exists('mem:///tmp')
     self.assertEqual(exists, True)
예제 #6
0
 def test00_existence(self):
     exists = vfs.exists(self.root + 'fdsfsf')
     self.assertEqual(exists, False)
     
     # All the following should be synonyms
     exists = vfs.exists(self.root + 'tmp')
     self.assertEqual(exists, True)
     exists = vfs.exists(self.root + '//tmp')
     self.assertEqual(exists, True)
     exists = vfs.exists(self.root + '///tmp')
     self.assertEqual(exists, True)
예제 #7
0
 def test00_existence(self):
     assert vfs.exists(self.root + "README")
     assert vfs.can_read(self.root + "README")
     assert vfs.can_write(self.root + "README")
     assert not vfs.exists(self.root + 'fdsfsf')
     
     # All the following should be synonyms
     exists = vfs.exists(self.root + 'README')
     self.assertEqual(exists, True)
     exists = vfs.exists(self.root + '//README')
     self.assertEqual(exists, True)
     exists = vfs.exists(self.root + '///README')
     self.assertEqual(exists, True)
예제 #8
0
    def test00_existence(self):
        assert vfs.exists(self.root + "README")
        assert vfs.can_read(self.root + "README")
        assert vfs.can_write(self.root + "README")
        assert not vfs.exists(self.root + 'fdsfsf')

        # All the following should be synonyms
        exists = vfs.exists(self.root + 'README')
        self.assertEqual(exists, True)
        exists = vfs.exists(self.root + '//README')
        self.assertEqual(exists, True)
        exists = vfs.exists(self.root + '///README')
        self.assertEqual(exists, True)
예제 #9
0
파일: ENVI.py 프로젝트: betsegaw/peppy
def findHeaders(url):
    urls = []
    for ext in _header_extensions:
        header = vfs.normalize(str(url)+ext)
        if vfs.exists(header):
            urls.append(header)

    name,ext = os.path.splitext(str(url))
    for ext in _header_extensions:
        header = vfs.normalize(name+ext)
        if vfs.exists(header):
            urls.append(header)

    return urls
예제 #10
0
def findHeaders(url):
    urls = []
    for ext in _header_extensions:
        header = vfs.normalize(str(url) + ext)
        if vfs.exists(header):
            urls.append(header)

    name, ext = os.path.splitext(str(url))
    for ext in _header_extensions:
        header = vfs.normalize(name + ext)
        if vfs.exists(header):
            urls.append(header)

    return urls
예제 #11
0
파일: test_memfs.py 프로젝트: zendbit/peppy
 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)
예제 #12
0
 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)
예제 #13
0
 def test20_move_file(self):
     vfs.copy(self.root + 'tmp/blah.txt', self.root + 'tmp/blah.txt.bak')
     vfs.move(self.root + 'tmp/blah.txt.bak',
              self.root + 'tmp/blah.txt.old')
     file = vfs.open(self.root + 'tmp/blah.txt.old')
     self.assertEqual(file.read(), 'BLAH!!!')
     self.assertEqual(vfs.exists(self.root + 'tmp/blah.txt.bak'), False)
예제 #14
0
 def action(self, index=-1, multiplier=1):
     url = self.storage[index]
     assert self.dprint("opening file %s" % url)
     if vfs.exists(url):
         self.frame.open(url)
     else:
         self.frame.SetStatusText("File not found: %s" % url)
예제 #15
0
    def applyProjectSettings(cls, msg):
        """Publish/subscribe callback to load project view settings.
        
        This is called by the major mode loading process to set the default
        view parameters based on per-project defaults.
        """
        mode = msg.data
        if not mode.project_info:
            return

        cls.dprint("Applying settings for %s" % mode)
        # Add 'project' keyword to Buffer object if the file belongs to a
        # project
        settings = cls.findProjectConfigObject(mode, cls.classprefs.settings_directory)
        if not settings:
            # Try the global settings
            cls.dprint("Trying default settings for project %s" % mode.project_info.project_name)
            base = mode.project_info.getSettingsRelativeURL()
            url = base.resolve2(ProjectPlugin.classprefs.default_settings_file_name)
            if vfs.exists(url):
                fh = vfs.open(url)
                settings = pickle.load(fh)
                fh.close()
        if settings and isinstance(settings, dict):
            # dprint(settings)
            # mode.applyFileLocalComments(settings)
            mode.classprefsUpdateLocals(settings)
            mode.applyDefaultSettings()
예제 #16
0
 def createProject(cls, topdir):
     url = vfs.normalize(topdir)
     if url in cls.url_to_project_mapping:
         raise TypeError("Project already exists.")
     proj_dir = url.resolve2(cls.classprefs.project_directory)
     if not vfs.is_folder(proj_dir):
         if not vfs.exists(proj_dir):
             vfs.make_folder(proj_dir)
         else:
             raise TypeError("Can't create directory %s -- seems already exist as a file" % proj_dir)
     info = cls.registerProject(None, proj_dir)
     info.savePrefs()
     cls.dprint(info)
     buffers = BufferList.getBuffers()
     for buffer in buffers:
         if buffer.url.scheme != "file":
             continue
         cls.dprint(u"prefix=%s topdir=%s" % (buffer.url.path.get_prefix(url.path), url.path))
         if buffer.url.path.get_prefix(url.path) == url.path:
             cls.dprint(u"belongs in project! %s" % buffer.url.path)
             for mode in buffer.iterViewers():
                 mode.project_info = info
         else:
             cls.dprint(u"not in project: %s" % buffer.url.path)
     return info
예제 #17
0
 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()
예제 #18
0
    def openGUIThreadSuccess(self):
        # Only increment count on successful buffer loads
        Buffer.count += 1
        self.order_loaded = Buffer.count

        self.closeBufferedReader()

        self.stc.openSuccess(self)

        self.setName()

        # If it doesn't exist, that means we are creating the file, so it
        # should be writable.
        self.readonly = not (vfs.can_write(self.url)
                             or not vfs.exists(self.url))
        #dprint("readonly = %s" % self.readonly)

        self.stc.EmptyUndoBuffer()

        # Add to the currently-opened buffer list
        BufferList.addBuffer(self)

        # Send a message to any interested plugins that a new buffer
        # has been successfully opened.
        pub.sendMessage('buffer.opened', buffer=self)
        wx.CallAfter(self.showModifiedAll)
예제 #19
0
 def action(self, index=-1, multiplier=1):
     url = self.storage[index]
     assert self.dprint("opening file %s" % url)
     if vfs.exists(url):
         self.frame.open(url)
     else:
         self.frame.SetStatusText("File not found: %s" % url)
예제 #20
0
 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()
예제 #21
0
파일: buffers.py 프로젝트: betsegaw/peppy
    def openGUIThreadSuccess(self):
        # Only increment count on successful buffer loads
        Buffer.count+=1
        self.order_loaded = Buffer.count
        
        self.closeBufferedReader()
        
        self.stc.openSuccess(self)
        
        self.setName()

        # If it doesn't exist, that means we are creating the file, so it
        # should be writable.
        self.readonly = not (vfs.can_write(self.url) or not vfs.exists(self.url))
        #dprint("readonly = %s" % self.readonly)
        
        self.stc.EmptyUndoBuffer()

        # Add to the currently-opened buffer list
        BufferList.addBuffer(self)

        # Send a message to any interested plugins that a new buffer
        # has been successfully opened.
        pub.sendMessage('buffer.opened', buffer=self)
        wx.CallAfter(self.showModifiedAll)
예제 #22
0
    def applyProjectSettings(cls, msg):
        """Publish/subscribe callback to load project view settings.
        
        This is called by the major mode loading process to set the default
        view parameters based on per-project defaults.
        """
        mode = msg.data
        if not mode.project_info:
            return

        cls.dprint("Applying settings for %s" % mode)
        # Add 'project' keyword to Buffer object if the file belongs to a
        # project
        settings = cls.findProjectConfigObject(
            mode, cls.classprefs.settings_directory)
        if not settings:
            # Try the global settings
            cls.dprint("Trying default settings for project %s" %
                       mode.project_info.project_name)
            base = mode.project_info.getSettingsRelativeURL()
            url = base.resolve2(
                ProjectPlugin.classprefs.default_settings_file_name)
            if vfs.exists(url):
                fh = vfs.open(url)
                settings = pickle.load(fh)
                fh.close()
        if settings and isinstance(settings, dict):
            #dprint(settings)
            #mode.applyFileLocalComments(settings)
            mode.classprefsUpdateLocals(settings)
            mode.applyDefaultSettings()
예제 #23
0
 def createProject(cls, topdir):
     url = vfs.normalize(topdir)
     if url in cls.url_to_project_mapping:
         raise TypeError("Project already exists.")
     proj_dir = url.resolve2(cls.classprefs.project_directory)
     if not vfs.is_folder(proj_dir):
         if not vfs.exists(proj_dir):
             vfs.make_folder(proj_dir)
         else:
             raise TypeError(
                 "Can't create directory %s -- seems already exist as a file"
                 % proj_dir)
     info = cls.registerProject(None, proj_dir)
     info.savePrefs()
     cls.dprint(info)
     buffers = BufferList.getBuffers()
     for buffer in buffers:
         if buffer.url.scheme != "file":
             continue
         cls.dprint(u"prefix=%s topdir=%s" %
                    (buffer.url.path.get_prefix(url.path), url.path))
         if buffer.url.path.get_prefix(url.path) == url.path:
             cls.dprint(u"belongs in project! %s" % buffer.url.path)
             for mode in buffer.iterViewers():
                 mode.project_info = info
         else:
             cls.dprint(u"not in project: %s" % buffer.url.path)
     return info
예제 #24
0
파일: test_vfs.py 프로젝트: zendbit/peppy
 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)
예제 #25
0
파일: buffers.py 프로젝트: betsegaw/peppy
 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)
예제 #26
0
파일: test_vfs.py 프로젝트: betsegaw/peppy
 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)
예제 #27
0
파일: buffers.py 프로젝트: betsegaw/peppy
 def getBufferedReader(self, size=1024):
     assert self.dprint(u"opening %s as %s" % (self.url, self.defaultmode))
     if self.bfh is None:
         if vfs.exists(self.url):
             fh = vfs.open(self.url)
             self.bfh = BufferedReader(fh, size)
     if self.bfh:
         self.bfh.seek(0)
     return self.bfh
예제 #28
0
파일: buffers.py 프로젝트: betsegaw/peppy
 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
예제 #29
0
 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
예제 #30
0
 def getBufferedReader(self, size=1024):
     assert self.dprint(u"opening %s as %s" % (self.url, self.defaultmode))
     if self.bfh is None:
         if vfs.exists(self.url):
             fh = vfs.open(self.url)
             self.bfh = BufferedReader(fh, size)
     if self.bfh:
         self.bfh.seek(0)
     return self.bfh
예제 #31
0
 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)
예제 #32
0
 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)
예제 #33
0
    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
예제 #34
0
 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)
예제 #35
0
파일: buffers.py 프로젝트: betsegaw/peppy
 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
예제 #36
0
파일: ENVI.py 프로젝트: betsegaw/peppy
def verifyHeader(filename):
    hasext=False
    for ext in _header_extensions:
        if filename.endswith(ext):
            hasext=True
            break

    if not hasext:
        for ext in _header_extensions:
            if vfs.exists(filename+ext):
                filename+=ext
                hasext=True
                break

    if not hasext:
        name,ext=os.path.splitext(filename)
        for ext in _header_extensions:
            if vfs.exists(name+ext):
                filename=name+ext
                break

    return filename
예제 #37
0
def verifyHeader(filename):
    hasext = False
    for ext in _header_extensions:
        if filename.endswith(ext):
            hasext = True
            break

    if not hasext:
        for ext in _header_extensions:
            if vfs.exists(filename + ext):
                filename += ext
                hasext = True
                break

    if not hasext:
        name, ext = os.path.splitext(filename)
        for ext in _header_extensions:
            if vfs.exists(name + ext):
                filename = name + ext
                break

    return filename
예제 #38
0
    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")
예제 #39
0
 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')
예제 #40
0
파일: test_memfs.py 프로젝트: zendbit/peppy
    def test13_folder_creation(self):
        url = 'mem:testfile.txt/dir'
        self.assertEqual(vfs.is_folder(url), False)
        self.assertRaises(OSError, vfs.make_folder, url)

        # This should raise an OSError because we're trying to make a file
        # inside another file
        file = vfs.make_file('mem:blah1')
        file.write("blah1\n")
        file.close()
        self.assertRaises(OSError, vfs.make_folder, 'mem:blah1/bad1')

        # This should raise OSError because we're trying to make a file with
        # the same name as an existing folder
        url = 'mem:blah2/file2'
        file = vfs.make_file(url)
        file.write("blah2\n")
        file.close()
        self.assertEqual(True, vfs.exists(url))
        self.assertRaises(OSError, vfs.make_file, 'mem:blah2')
예제 #41
0
 def test13_folder_creation(self):
     url = 'mem:testfile.txt/dir'
     self.assertEqual(vfs.is_folder(url), False)
     self.assertRaises(OSError, vfs.make_folder, url)
     
     # This should raise an OSError because we're trying to make a file
     # inside another file
     file = vfs.make_file('mem:blah1')
     file.write("blah1\n")
     file.close()
     self.assertRaises(OSError, vfs.make_folder, 'mem:blah1/bad1')
     
     # This should raise OSError because we're trying to make a file with
     # the same name as an existing folder
     url = 'mem:blah2/file2'
     file = vfs.make_file(url)
     file.write("blah2\n")
     file.close()
     self.assertEqual(True, vfs.exists(url))
     self.assertRaises(OSError, vfs.make_file, 'mem:blah2')
예제 #42
0
파일: macro.py 프로젝트: zendbit/peppy
 def load(cls, url):
     import cPickle as pickle
     
     # Note: because plugins are loaded using the execfile command, pickle
     # can't find classes that are in the global namespace.  Have to supply
     # PythonScriptableMacro into the builtin namespace to get around this.
     import __builtin__
     __builtin__.PythonScriptableMacro = PythonScriptableMacro
     
     if not vfs.exists(url):
         return
     
     fh = vfs.open(url)
     bytes = fh.read()
     fh.close()
     if bytes:
         version, data = pickle.loads(bytes)
         if version == 1:
             cls.unpackVersion1(data)
         else:
             raise RuntimeError("Unknown version of MacroSaveData in %s" % url)
예제 #43
0
 def test13_folder_creation(self):
     file = vfs.make_file(self.root + 'testfile.txt')
     file.write("one\n")
     file.close()        
     url = self.root + 'testfile.txt/dir'
     self.assertRaises(OSError, vfs.make_folder, url)
     
     # This should raise an OSError because we're trying to make a file
     # inside another file
     file = vfs.make_file(self.root + 'tmp/blah1')
     file.write("blah1\n")
     file.close()
     self.assertRaises(OSError, vfs.make_folder, self.root + 'tmp/blah1/bad1')
     
     # This should raise OSError because we're trying to make a file with
     # the same name as an existing folder
     url = self.root + 'tmp/blah2'
     file = vfs.make_file(url)
     file.write("blah2\n")
     file.close()
     self.assertEqual(True, vfs.exists(url))
     self.assertRaises(OSError, vfs.make_file, self.root + 'tmp/blah2')
예제 #44
0
 def test13_folder_creation(self):
     file = vfs.make_file(self.root + 'testfile.txt')
     file.write("one\n")
     file.close()        
     url = self.root + 'testfile.txt/dir'
     self.assertRaises(OSError, vfs.make_folder, url)
     
     # This should raise an OSError because we're trying to make a file
     # inside another file
     file = vfs.make_file(self.root + 'tmp/blah1')
     file.write("blah1\n")
     file.close()
     self.assertRaises(OSError, vfs.make_folder, self.root + 'tmp/blah1/bad1')
     
     # This should raise OSError because we're trying to make a file with
     # the same name as an existing folder
     url = self.root + 'tmp/blah2'
     file = vfs.make_file(url)
     file.write("blah2\n")
     file.close()
     self.assertEqual(True, vfs.exists(url))
     self.assertRaises(OSError, vfs.make_file, self.root + 'tmp/blah2')
예제 #45
0
파일: macro.py 프로젝트: zendbit/peppy
 def addMacro(cls, macro, dirname=None):
     if dirname:
         if not dirname.endswith("/"):
             dirname += "/"
         
         # Make sure the directory exists
         url = vfs.normalize("macro:%s" % dirname)
         needs_mkdir = False
         if vfs.exists(url):
             if vfs.is_file(url):
                 # we have a macro that is the same name as the directory
                 # name.  Rename the file and create the directory.
                 components = dirname.strip('/').split('/')
                 filename = components.pop()
                 parent_dirname = "/".join(components)
                 dum, new_filename = cls.findAlternateName(parent_dirname, filename)
                 #dprint("parent=%s filename=%s: New filename: %s" % (parent_dirname, filename, new_filename))
                 parent, existing, name = cls._find(parent_dirname)
                 #dprint("existing=%s" % existing)
                 existing[new_filename] = existing[filename]
                 del existing[filename]
                 #dprint("existing after=%s" % existing)
                 needs_mkdir = True
         else:
             needs_mkdir = True
         if needs_mkdir:
             #dprint("Making folder %s" % url)
             vfs.make_folder(url)
     else:
         dirname = ""
     fullpath, basename = cls.findAlternateName(dirname, macro.name)
     
     parent, existing, name = cls._find(dirname)
     #dprint("name=%s: parent=%s, existing=%s" % (basename, parent, existing))
     macro.setName(fullpath)
     existing[basename] = macro
예제 #46
0
파일: test_vfs.py 프로젝트: zendbit/peppy
 def test00_exists(self):
     exists = vfs.exists('vfs/hello.txt')
     self.assertEqual(exists, True)
     self.assertEqual(True, vfs.can_read('vfs/hello.txt'))
예제 #47
0
파일: test_vfs.py 프로젝트: betsegaw/peppy
 def test01_does_not_exist(self):
     exists = vfs.exists('vfs/fdsfsf')
     self.assertEqual(exists, False)
예제 #48
0
파일: test_vfs.py 프로젝트: betsegaw/peppy
 def test12_remove_file(self):
     vfs.remove('vfs/file')
     self.assertEqual(vfs.exists('vfs/file'), False)
예제 #49
0
파일: test_vfs.py 프로젝트: betsegaw/peppy
 def test19_traverse(self):
     for x in vfs.traverse('.'):
         self.assertEqual(vfs.exists(x), True)
예제 #50
0
파일: test_vfs.py 프로젝트: zendbit/peppy
 def test13_remove_empty_folder(self):
     vfs.remove('vfs/folder')
     self.assertEqual(vfs.exists('vfs/folder'), False)
예제 #51
0
파일: test_vfs.py 프로젝트: zendbit/peppy
 def test12_remove_file(self):
     vfs.remove('vfs/file')
     self.assertEqual(vfs.exists('vfs/file'), False)
예제 #52
0
파일: test_vfs.py 프로젝트: betsegaw/peppy
 def test00_exists(self):
     exists = vfs.exists('vfs/hello.txt')
     self.assertEqual(exists, True)
     self.assertEqual(True, vfs.can_read('vfs/hello.txt'))
예제 #53
0
파일: test_vfs.py 프로젝트: zendbit/peppy
 def tearDown(self):
     if vfs.exists('vfs-tmp'):
         vfs.remove('vfs-tmp')
예제 #54
0
파일: test_vfs.py 프로젝트: zendbit/peppy
 def test19_traverse(self):
     for x in vfs.traverse('.'):
         self.assertEqual(vfs.exists(x), True)
예제 #55
0
파일: test_vfs.py 프로젝트: zendbit/peppy
 def test17_move_file(self):
     vfs.copy('vfs/hello.txt', 'vfs/hello.txt.bak')
     vfs.move('vfs/hello.txt.bak', 'vfs/hello.txt.old')
     file = vfs.open('vfs/hello.txt.old')
     self.assertEqual(file.read(), 'hello world\n')
     self.assertEqual(vfs.exists('vfs/hello.txt.bak'), False)
예제 #56
0
파일: test_vfs.py 프로젝트: betsegaw/peppy
 def test13_remove_empty_folder(self):
     vfs.remove('vfs/folder')
     self.assertEqual(vfs.exists('vfs/folder'), False)
예제 #57
0
파일: test_vfs.py 프로젝트: zendbit/peppy
 def test01_does_not_exist(self):
     exists = vfs.exists('vfs/fdsfsf')
     self.assertEqual(exists, False)
예제 #58
0
파일: test_vfs.py 프로젝트: betsegaw/peppy
 def tearDown(self):
     if vfs.exists('vfs-tmp'):
         vfs.remove('vfs-tmp')