SHA256
1
0
forked from pool/python-fs

20 Commits

Author SHA256 Message Date
6eb33c50eb Accepting request 1305264 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1305264
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-fs?expand=0&rev=19
2025-09-17 14:37:21 +00:00
63939ec9fd - Skip tests failing with Python 3.14
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-fs?expand=0&rev=40
2025-09-16 20:25:42 +00:00
82aa4d8147 Accepting request 1304709 from devel:languages:python
- Add patch support-pyftpdlib-2.0.patch:
  * Support pyftpdlib 2.0 in the testsuite.
- Drop Requires on psutil and pytz, undeclared.

OBS-URL: https://build.opensuse.org/request/show/1304709
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-fs?expand=0&rev=18
2025-09-15 17:50:42 +00:00
1c6fceb611 - Add patch support-pyftpdlib-2.0.patch:
* Support pyftpdlib 2.0 in the testsuite.
- Drop Requires on psutil and pytz, undeclared.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-fs?expand=0&rev=38
2025-09-15 02:40:49 +00:00
d8bee14c7a Accepting request 1184140 from devel:languages:python
- drop scandir dependency (only for < 3.5)

    of `fs.move` functions, which was causing optimized implementation of
* Made TarFS directory loading lazy

OBS-URL: https://build.opensuse.org/request/show/1184140
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-fs?expand=0&rev=17
2024-07-02 16:14:36 +00:00
9a26cf3dbf Accepting request 1112131 from devel:languages:python
- Switch to autosetup and pyproject macros
- Add patch support-python-312.patch, don't call a removed assertion
  function
- Skip some recalcitrant tests
- Clean up some old Python 3 version requirements

OBS-URL: https://build.opensuse.org/request/show/1112131
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-fs?expand=0&rev=16
2023-09-22 19:47:02 +00:00
3b622f9efb Accepting request 1081910 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1081910
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-fs?expand=0&rev=15
2023-04-22 20:00:49 +00:00
c15f903479 Accepting request 979746 from devel:languages:python
- update to 2.4.16:
  * 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.

OBS-URL: https://build.opensuse.org/request/show/979746
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-fs?expand=0&rev=14
2022-05-31 13:46:49 +00:00
64db08e7b3 Accepting request 965110 from devel:languages:python
- update to 2.4.15:
  - Support more lenient usernames and group names in FTP servers
  - 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.

OBS-URL: https://build.opensuse.org/request/show/965110
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-fs?expand=0&rev=13
2022-03-29 16:14:02 +00:00
be09659b41 Accepting request 946651 from devel:languages:python
- update to 2.4.14:
  * Added `fs.copy.copy_file_if`, `fs.copy.copy_dir_if`, and `fs.copy.copy_fs_if`.
  * Added `fs.base.FS.getmodified`.
  * 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 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`.

OBS-URL: https://build.opensuse.org/request/show/946651
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-fs?expand=0&rev=12
2022-01-17 21:33:49 +00:00
034d85de81 Accepting request 886050 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/886050
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-fs?expand=0&rev=11
2021-04-16 22:02:13 +00:00
75e3d4e97b Accepting request 795817 from devel:languages:python
- Fix build wihtout python2

OBS-URL: https://build.opensuse.org/request/show/795817
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-fs?expand=0&rev=10
2020-04-21 11:10:56 +00:00
Ludwig Nussel
60dae9ce2b Accepting request 730453 from devel:languages:python
- Update to 2.4.11:
  * Restored fs.path import
  * Fixed potential race condition in makedirs. Fixes #310
  * Added missing methods to WrapFS. Fixed #294
  * MemFS now immediately releases all memory it holds when close() is called, rather than when it gets garbage collected. Closes issue #308.
  * FTPFS now translates EOFError into RemoteConnectionError. Closes #292
  * Added automatic close for filesystems that go out of scope. Fixes #298
  * Fixed broken WrapFS.movedir #322
  * Added geturl for TarFS and ZipFS for 'fs' purpose. NoURL for 'download' purpose.
  * Added helpful root path in CreateFailed exception #340
- remove patch more-relaxed-requirements.patch replaced by sed

OBS-URL: https://build.opensuse.org/request/show/730453
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-fs?expand=0&rev=9
2019-09-13 13:02:13 +00:00
c0b1644b59 Accepting request 718907 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/718907
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-fs?expand=0&rev=8
2019-07-26 15:35:20 +00:00
f87452e6be Accepting request 703518 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/703518
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-fs?expand=0&rev=7
2019-05-16 20:10:44 +00:00
a74825923b Accepting request 681664 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/681664
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-fs?expand=0&rev=6
2019-03-05 11:26:51 +00:00
cfb2fae96c Accepting request 669134 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/669134
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-fs?expand=0&rev=5
2019-02-15 08:55:49 +00:00
6d08e2e104 Accepting request 659385 from devel:languages:python
- Remove superfluous devel dependency for noarch package

OBS-URL: https://build.opensuse.org/request/show/659385
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-fs?expand=0&rev=4
2018-12-19 12:53:03 +00:00
3466e08650 Accepting request 546324 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/546324
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-fs?expand=0&rev=3
2017-11-30 11:45:24 +00:00
7b92d628bd Accepting request 517625 from devel:languages:python
- Remove no longer needed patches
- add more-relaxed-requirements.patch to weaken the very harsh version requirements
- update to version 2.0.4
- update to singlespec

OBS-URL: https://build.opensuse.org/request/show/517625
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-fs?expand=0&rev=2
2017-08-24 16:53:56 +00:00
3 changed files with 92 additions and 4 deletions

View File

@@ -1,3 +1,15 @@
-------------------------------------------------------------------
Tue Sep 16 11:58:31 UTC 2025 - Markéta Machová <mmachova@suse.com>
- Skip tests failing with Python 3.14
-------------------------------------------------------------------
Mon Sep 15 02:38:45 UTC 2025 - Steve Kowalik <steven.kowalik@suse.com>
- Add patch support-pyftpdlib-2.0.patch:
* Support pyftpdlib 2.0 in the testsuite.
- Drop Requires on psutil and pytz, undeclared.
-------------------------------------------------------------------
Sun Jun 30 20:36:23 UTC 2024 - Dirk Müller <dmueller@suse.com>

View File

@@ -1,7 +1,7 @@
#
# spec file for package python-fs
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC and contributors
# Copyright (c) 2016 LISA GmbH, Bingen, Germany.
#
# All modifications and additions to the file contributed by third parties
@@ -27,6 +27,8 @@ URL: https://github.com/PyFilesystem/pyfilesystem2
Source: https://files.pythonhosted.org/packages/source/f/fs/fs-%{version}.tar.gz
# PATCH-FIX-UPSTREAM gh#PyFilesystem/pyfilesystem2#570
Patch0: support-python-312.patch
# PATCH-FIX-UPSTREAM gh#PyFilesystem/pyfilesystem2#595
Patch1: support-pyftpdlib-2.0.patch
BuildRequires: %{python_module appdirs >= 1.4.3}
BuildRequires: %{python_module parameterized}
BuildRequires: %{python_module pip}
@@ -41,8 +43,6 @@ BuildRequires: %{python_module wheel}
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
@@ -69,7 +69,8 @@ sed -i -e '/install_requires/,/bdist_wheel/ s:~=:>=:g' setup.cfg
%check
export LANG=en_US.UTF-8
%pytest -k 'not (TestFTPFS and test_create or TestReadZipFSMem and test_seek)'
# test_complex_geturl, test_geturl_for_fs - fail with Python 3.14 https://github.com/PyFilesystem/pyfilesystem2/issues/596
%pytest -k 'not (TestFTPFS and test_create or TestReadZipFSMem and test_seek or test_complex_geturl or test_geturl_for_fs)'
%files %{python_files}
%doc README.md

View File

@@ -0,0 +1,75 @@
From a3a1005715adebcaabafc93d36369783d7fc5f9f Mon Sep 17 00:00:00 2001
From: "Benjamin A. Beasley" <code@musicinmybrain.net>
Date: Sat, 14 Jun 2025 07:47:07 -0400
Subject: [PATCH] Make tests compatible with pyftpdlib 2.0
Inspired by @mweinelt via
https://github.com/PyFilesystem/pyfilesystem2/pull/591.
---
tests/requirements.txt | 12 ++++--------
tests/test_ftpfs.py | 8 ++++----
2 files changed, 8 insertions(+), 12 deletions(-)
diff --git a/tests/requirements.txt b/tests/requirements.txt
index b7ff3ce4..0db1f97b 100644
--- a/tests/requirements.txt
+++ b/tests/requirements.txt
@@ -1,14 +1,10 @@
# the bare requirements for running tests
# pyftpdlib is needed to spawn a FTP server for the
-# FTPFS test suite
-pyftpdlib ~=1.5
-
-# these are optional dependencies for pyftpdlib that
-# are not explicitly listed, we need to install these
-# ourselves
-psutil ~=5.0
-pysendfile ~=2.0 ; python_version <= "3.3"
+# FTPFS test suite; we import from pyftpdlib.test, so
+# we need (at least some of) pyftpdlib's test
+# dependencies
+pyftpdlib[test] ~=2.0
# mock is only available from Python 3.3 onward, and
# mock v4+ doesn't support Python 2.7 anymore
diff --git a/tests/test_ftpfs.py b/tests/test_ftpfs.py
index 2bb2c73c..a3cfb04a 100644
--- a/tests/test_ftpfs.py
+++ b/tests/test_ftpfs.py
@@ -146,7 +146,7 @@ class TestFTPFS(FSTestCases, unittest.TestCase):
@classmethod
def setUpClass(cls):
- from pyftpdlib.test import ThreadedTestFTPd
+ from pyftpdlib.test import FtpdThreadWrapper
super(TestFTPFS, cls).setUpClass()
@@ -154,7 +154,7 @@ def setUpClass(cls):
cls._temp_path = os.path.join(cls._temp_dir, text_type(uuid.uuid4()))
os.mkdir(cls._temp_path)
- cls.server = ThreadedTestFTPd()
+ cls.server = FtpdThreadWrapper()
cls.server.shutdown_after = -1
cls.server.handler.authorizer = DummyAuthorizer()
cls.server.handler.authorizer.add_user(
@@ -336,7 +336,7 @@ class TestAnonFTPFS(FSTestCases, unittest.TestCase):
@classmethod
def setUpClass(cls):
- from pyftpdlib.test import ThreadedTestFTPd
+ from pyftpdlib.test import FtpdThreadWrapper
super(TestAnonFTPFS, cls).setUpClass()
@@ -344,7 +344,7 @@ def setUpClass(cls):
cls._temp_path = os.path.join(cls._temp_dir, text_type(uuid.uuid4()))
os.mkdir(cls._temp_path)
- cls.server = ThreadedTestFTPd()
+ cls.server = FtpdThreadWrapper()
cls.server.shutdown_after = -1
cls.server.handler.authorizer = DummyAuthorizer()
cls.server.handler.authorizer.add_anonymous(cls._temp_path, perm="elradfmw")