- Update to 2.4.13
* Added FTP over TLS (FTPS) support to FTPFS.
Closes #437, #449.
* PathError now supports wrapping an exception using the exc
argument.
Closes #453.
* 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. Closes #441.
Changed
* Make FS.upload explicit about the expected error when the
parent directory of the destination does not exist.
Closes #445.
* Migrate continuous integration from Travis-CI to GitHub
Actions and introduce several linters again in the build steps
(#448). Closes #446.
* 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.
Closes #452.
* FS.removetree("/") behaviour has been standardized in all
filesystems, and is expected to clear the contents of the root
folder without deleting it. Closes #471.
* 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. Closes #469.
Fixed
* Make FTPFile, MemoryFile and RawWrapper accept array.array
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.
Closes #455.
* WrapReadOnly.removetree not raising a ResourceReadOnly when
called. Closes #468.
* WrapCachedDir.isdir and WrapCachedDir.isfile raising a
ResourceNotFound error on non-existing path (#470).
* FTPFS not listing certain entries with sticky/SUID/SGID
permissions set by Linux server (#473). Closes #451.
* scandir iterator not being closed explicitly in OSFS.scandir,
occasionally causing a ResourceWarning
to be thrown. Closes #311.
* Incomplete type annotations for the temp_fs parameter of
WriteTarFS and WriteZipFS. Closes #410.
- Release 2.4.12
Added
* Missing mode attribute to _MemoryFile objects returned by
MemoryFS. openbin.
* Missing readinto method for MemoryFS and FTPFS file objects.
Closes #380.
* Added compatibility if a Windows FTP server returns file
information to the LIST command with 24-hour times. Closes
#438.
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. Closes #382.
* Fixed the code example in the "Testing Filesystems" section of
the "Implementing Filesystems" guide. Closes #407.
* Fixed FTPFS.openbin not implicitly opening files in binary
mode like expected from openbin. Closes #406.
- conftest.py was removed by upstream
OBS-URL: https://build.opensuse.org/request/show/886001
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-fs?expand=0&rev=25
98 lines
3.1 KiB
RPMSpec
98 lines
3.1 KiB
RPMSpec
#
|
|
# spec file for package python-fs
|
|
#
|
|
# Copyright (c) 2021 SUSE LLC
|
|
# Copyright (c) 2016 LISA GmbH, Bingen, Germany.
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
|
%bcond_without python2
|
|
Name: python-fs
|
|
Version: 2.4.13
|
|
Release: 0
|
|
Summary: Python's filesystem abstraction layer
|
|
License: MIT
|
|
Group: Development/Languages/Python
|
|
URL: https://github.com/PyFilesystem/pyfilesystem2
|
|
Source: https://files.pythonhosted.org/packages/source/f/fs/fs-%{version}.tar.gz
|
|
BuildRequires: %{python_module appdirs >= 1.4.3}
|
|
BuildRequires: %{python_module enum34 >= 1.1.6 if %python-base < 3.4}
|
|
BuildRequires: %{python_module psutil}
|
|
BuildRequires: %{python_module pyftpdlib}
|
|
BuildRequires: %{python_module pysendfile}
|
|
BuildRequires: %{python_module pytest}
|
|
BuildRequires: %{python_module pytz}
|
|
BuildRequires: %{python_module scandir >= 1.5}
|
|
BuildRequires: %{python_module setuptools}
|
|
BuildRequires: %{python_module six >= 1.10.0}
|
|
BuildRequires: %{python_module typing >= 3.6 if %python-base < 3.6}
|
|
BuildRequires: fdupes
|
|
BuildRequires: python-rpm-macros
|
|
Requires: python-appdirs >= 1.4.3
|
|
Requires: python-psutil
|
|
Requires: python-pytz
|
|
Requires: python-setuptools
|
|
Requires: python-six >= 1.10.0
|
|
Recommends: python-pyftpdlib
|
|
BuildArch: noarch
|
|
%if %{with python2}
|
|
BuildRequires: python-backports.os >= 0.1
|
|
BuildRequires: python-mock
|
|
%endif
|
|
%ifpython2
|
|
Requires: python-backports.os >= 0.1
|
|
%endif
|
|
%if %{python_version_nodots} < 34
|
|
Requires: python-enum34 >= 1.1.6
|
|
Recommends: python-pysendfile
|
|
%endif
|
|
%if %{python_version_nodots} < 35
|
|
Recommends: python-scandir >= 1.5
|
|
%endif
|
|
%if %{python_version_nodots} < 36
|
|
Requires: python-typing >= 3.6
|
|
%endif
|
|
%python_subpackages
|
|
|
|
%description
|
|
PyFilesystem is an abstraction layer for filesystems. In the same way that
|
|
Python's file-like objects provide a common way of accessing files,
|
|
PyFilesystem provides a common way of accessing entire filesystems. You can
|
|
write platform-independent code to work with local files, that also works with
|
|
any of the supported filesystems (zip, ftp, S3 etc.).
|
|
|
|
%prep
|
|
%setup -q -n fs-%{version}
|
|
sed -i -e '/install_requires/,/bdist_wheel/ s:~=:>=:g' setup.cfg
|
|
|
|
%build
|
|
%python_build
|
|
|
|
%install
|
|
%python_install
|
|
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
|
|
|
%check
|
|
export LANG=en_US.UTF-8
|
|
%pytest
|
|
|
|
%files %{python_files}
|
|
%doc README.md
|
|
%license LICENSE
|
|
%{python_sitelib}/fs
|
|
%{python_sitelib}/fs-%{version}*-info
|
|
|
|
%changelog
|