Age | Commit message (Collapse) | Author | Files | Lines |
|
2.4.16
Changed
- Make `fs.zipfs._ZipExtFile` use the seeking mechanism implemented
in the Python standard library in Python version 3.7 and later
- Mark `fs.zipfs.ReadZipFS` as a case-sensitive filesystem
- Optimized moving files between filesystems with syspaths.
- Fixed `fs.move.move_file` to clean up the copy on the destination in case of errors.
- `fs.opener.manage_fs` with `writeable=True` will now raise a `ResourceReadOnly`
exception if the managed filesystem is not writeable.
- Marked filesystems wrapped with `fs.wrap.WrapReadOnly` as read-only.
|
|
a dependency does not support python 2.x any longer
|
|
2.4.15
Changed
- Support more lenient usernames and group names in FTP servers
Fixed
- Fixed `MemoryFS.move` and `MemoryFS.movedir` not updating the name of moved
resources, causing `MemoryFS.scandir` to use the old name.
- Make `WrapFS.move` and `WrapFS.movedir` use the delegate FS methods instead
of `fs.move` functions, which was causing optimized implementation of
`movedir` to be always skipped.
|
|
They now have a tool dependency on py-setuptools instead of a DEPENDS
|
|
2.4.14
Added
- Added `fs.copy.copy_file_if`, `fs.copy.copy_dir_if`, and `fs.copy.copy_fs_if`.
- Added `fs.base.FS.getmodified`.
Changed
- FTP servers that do not support the MLST command now try to use the MDTM command to
retrieve the last modification timestamp of a resource.
Fixed
- Fixed performance bugs in `fs.copy.copy_dir_if_newer`. Test cases were adapted to catch those bugs in the future.
- Fixed precision bug for timestamps in `fs.OSFS.setinfo`.
|
|
All checksums have been double-checked against existing RMD160 and
SHA512 hashes
|
|
|
|
2.4.13
Added
- Added FTP over TLS (FTPS) support to FTPFS.
- `PathError` now supports wrapping an exception using the `exc` argument.
- Better documentation of the `writable` parameter of `fs.open_fs`, and
hint about using `fs.wrap.read_only` when a read-only filesystem is
required.
Changed
- Make `FS.upload` explicit about the expected error when the parent directory of the destination does not exist.
- Migrate continuous integration from Travis-CI to GitHub Actions and introduce several linters
again in the build steps.
- Stop requiring `pytest` to run tests, allowing any test runner supporting `unittest`-style
test suites.
- `FSTestCases` now builds the large data required for `upload` and `download` tests only
once in order to reduce the total testing time.
- `MemoryFS.move` and `MemoryFS.movedir` will now avoid copying data.
- `FS.removetree("/")` behaviour has been standardized in all filesystems, and
is expected to clear the contents of the root folder without deleting it.
- `FS.getbasic` is now deprecated, as it is redundant with `FS.getinfo`,
and `FS.getinfo` is now explicitly expected to return the *basic* info
namespace unconditionally.
Fixed
- Make `FTPFile`, `MemoryFile` and `RawWrapper` accept [`array.array`](https://docs.python.org/3/library/array.html)
arguments for the `write` and `writelines` methods, as expected by their base class [`io.RawIOBase`]
- Various documentation issues, including `MemoryFS` docstring not rendering properly.
- Avoid creating a new connection on every call of `FTPFS.upload`.
- `WrapReadOnly.removetree` not raising a `ResourceReadOnly` when called.
- `WrapCachedDir.isdir` and `WrapCachedDir.isfile` raising a `ResourceNotFound` error on non-existing path.
- `FTPFS` not listing certain entries with sticky/SUID/SGID permissions set by Linux server.
- `scandir` iterator not being closed explicitly in `OSFS.scandir`, occasionally causing a `ResourceWarning`
to be thrown.
- Incomplete type annotations for the `temp_fs` parameter of `WriteTarFS` and `WriteZipFS`.
|
|
2.4.12
Added
Missing mode attribute to _MemoryFile objects returned by MemoryFS.openbin.
Missing readinto method for MemoryFS and FTPFS file objects.
Added compatibility if a Windows FTP server returns file information to the LIST command with 24-hour times.
Changed
Start testing on PyPy. Due to 342 we have to treat PyPy builds specially and allow them to fail, but at least we'll be able to see if we break something aside from known issues with FTP tests.
Include docs in source distributions as well as the whole tests folder, ensuring conftest.py is present, fixes 364.
Stop patching copy with Python 3.8+ because it already uses sendfile.
Fixed
Fixed crash when CPython's -OO flag is used
Fixed error when parsing timestamps from a FTP directory served from a WindowsNT FTP Server, fixes 395.
Fixed documentation of Mode.to_platform_bin.
Fixed the code example in the "Testing Filesystems" section of the "Implementing Filesystems" guide.
Fixed FTPFS.openbin not implicitly opening files in binary mode like expected from openbin.
|
|
|
|
|
|
[2.4.11]:
Added
Added geturl for TarFS and ZipFS for 'fs' purpose. NoURL for 'download' purpose.
Added helpful root path in CreateFailed exception
Added Python 3.8 support
Fixed
Fixed tests leaving tmp files
Fixed typing issues
Fixed link namespace returning bytes
Fixed broken FSURL in windows
Fixed hidden exception at fs.close() when opening an absent zip/tar file URL
Fixed abstract class import from collections which would break on Python 3.8
Fixed incorrect imports of mock on Python 3
Removed some unused imports and unused requirements.txt file
Added mypy checks to Travis.
Fixed missing errno.ENOTSUP on PyPy.
Fixed bug in a decorator that would trigger an AttributeError when a class was created that implemented a deprecated method and had no docstring of its own.
Changed
Entire test suite has been migrated to pytest.
Style checking is now enforced using flake8; this involved some code cleanup such as removing unused imports.
[2.4.10]:
Fixed
Fixed broken WrapFS.movedir
[2.4.9]:
Fixed
Restored fs.path import
Fixed potential race condition in makedirs.
Added missing methods to WrapFS.
Changed
MemFS now immediately releases all memory it holds when close() is called, rather than when it gets garbage collected.
FTPFS now translates EOFError into RemoteConnectionError.
Added automatic close for filesystems that go out of scope.
[2.4.8]:
Changed
geturl will return URL with user/password if needed @zmej-serow
[2.4.7]:
Added
Flag to OSFS to disable env var expansion
[2.4.6]:
Added
Implemented geturl in FTPFS @zmej-serow
Fixed
Fixed FTP test suite when time is not UTC-0 @mrg0029
Fixed issues with paths in tarfs https://github.com/PyFilesystem/pyfilesystem2/issues/284
Changed
Dropped Python3.3 support
[2.4.5]:
Fixed
Restored deprecated setfile method with deprecation warning to change to writefile
Fixed exception when a tarfile contains a path called '.' https://github.com/PyFilesystem/pyfilesystem2/issues/275
Made TarFS directory loading lazy
Changed
Detect case insensitivity using by writing temp file
[2.4.4]:
Fixed
OSFS fail in nfs mounts
[2.4.3]:
Fixed
Fixed broken "case_insensitive" check
Fixed Windows test fails
[2.4.2]:
Fixed
Fixed exception when Python runs with -OO
[2.4.1]:
Fixed
Fixed hash method missing from WrapFS
[2.4.0]:
Added
Added exclude and filter_dirs arguments to walk
Micro-optimizations to walk
[2.3.1]:
Fixed
Add encoding check in OSFS.validatepath
[2.3.0]:
Fixed
IllegalBackReference had mangled error message
Added
FS.hash method
|
|
PyFilesystem is a Python module that provides a common interface to any
filesystem.
Think of PyFilesystem FS objects as the next logical step to Python's file
objects. In the same way that file objects abstract a single file, FS objects
abstract an entire filesystem.
|