def setUp(self): self.mem_fs1 = memoryfs.MemoryFS() self.mem_fs2 = memoryfs.MemoryFS() self.mount_fs = mountfs.MountFS() self.mount_fs.mountdir("mem", self.mem_fs1) self.mount_fs.mountdir("mem/two", self.mem_fs2) self.fs = self.mount_fs.opendir("/mem/two")
def test_generate_directory_error(self): sp = StartProject("test", memoryfs.MemoryFS()) sp.fs.writetext("test", "teststring") try: sp.generate() self.fail() except IOError: pass
def test_generate_directory_warning(self): sp = StartProject("test", memoryfs.MemoryFS()) sp.generate() info = sp.fs.getinfo(sp.name, namespaces=["details"]) self.assertEqual(enums.ResourceType.directory, info.type) sp.generate() info = sp.fs.getinfo(sp.name, namespaces=["details"]) self.assertEqual(enums.ResourceType.directory, info.type)
def test_init_create_memory(self, out_dir, data): mem_fs = memoryfs.MemoryFS() store = jsonlite.connect(mem_fs, discriminator="type") store.close() assert not store.remote_is_local assert store.remote_fs.__class__.__name__ == "MemoryFS" shutil.rmtree(out_dir) shutil.rmtree(data)
def create_fs(self, root: str) -> FSBase: """create a PyFileSystem instance from `root`. `root` is in the format of `/` if local path, else `<scheme>://<netloc>`. You should override this method to provide custom instances, for example, if you want to create an S3FS with certain parameters. :param root: `/` if local path, else `<scheme>://<netloc>` """ if root.startswith("temp://"): fs = tempfs.TempFS(root[len("temp://"):]) return fs if root.startswith("mem://"): fs = memoryfs.MemoryFS() return fs return open_fs(root)
def get_fsys(): ''' simulate the file system with pyfilesystem pyfilesystem implement the general interface of file system. Replace the built-in file system with pyfilesystem to improve dependence injection ''' model_data_fs = memoryfs.MemoryFS() model_data_fs.makedir('data') model_data_fs.makedir('data/raw_data') model_data_fs.makedir('data/result_data') _raw_data = np.random.normal(loc=0.0, scale=1.0, size=20000).reshape(4000, 5).tolist() filenames = [ 'some00000.csv', 'some00001.csv', 'some00002.csv', 'some00003.csv', 'some00004.csv' ] for _file in filenames: with model_data_fs.open('data/raw_data/' + _file, mode='w') as csvfile: writer = csv.writer(csvfile) writer.writerow(['data', 'open', 'close', 'max', 'min', 'volumn']) for line in _raw_data: writer.writerow([str(datetime.date.today())] + line) return model_data_fs.opendir('data')
def setUp(self): self.fs = memoryfs.MemoryFS() self.watchfs = ensure_watchable(self.fs, poll_interval=0.1)
def setUp(self): self.fs = self.watchfs = WatchableFS(memoryfs.MemoryFS())
def setUp(self): self.fs = ensure_xattrs(memoryfs.MemoryFS())
def make_fs(self): return memoryfs.MemoryFS()
def setUp(self): self.mount_fs = mountfs.MountFS() self.mem_fs = memoryfs.MemoryFS() self.mount_fs.mountdir("mounted/memfs", self.mem_fs) self.fs = self.mount_fs.opendir("mounted/memfs")
def setUp(self): self.fs = memoryfs.MemoryFS()
def setUp(self): self.mem_fs = memoryfs.MemoryFS() self.fs = mountfs.MountFS() self.fs.mountdir("", self.mem_fs)