Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-fs for openSUSE:Factory 
checked in at 2022-03-29 18:14:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-fs (Old)
 and      /work/SRC/openSUSE:Factory/.python-fs.new.1900 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-fs"

Tue Mar 29 18:14:02 2022 rev:13 rq:965110 version:2.4.15

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-fs/python-fs.changes      2022-01-17 
22:33:52.586236998 +0100
+++ /work/SRC/openSUSE:Factory/.python-fs.new.1900/python-fs.changes    
2022-03-29 18:14:12.463061289 +0200
@@ -1,0 +2,11 @@
+Sat Mar 26 21:28:30 UTC 2022 - Dirk M??ller <dmuel...@suse.com>
+
+- 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.
+
+-------------------------------------------------------------------

Old:
----
  fs-2.4.14.tar.gz

New:
----
  fs-2.4.15.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-fs.spec ++++++
--- /var/tmp/diff_new_pack.6Edswf/_old  2022-03-29 18:14:12.975061760 +0200
+++ /var/tmp/diff_new_pack.6Edswf/_new  2022-03-29 18:14:12.983061767 +0200
@@ -20,7 +20,7 @@
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 %bcond_without python2
 Name:           python-fs
-Version:        2.4.14
+Version:        2.4.15
 Release:        0
 Summary:        Python's filesystem abstraction layer
 License:        MIT

++++++ fs-2.4.14.tar.gz -> fs-2.4.15.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fs-2.4.14/CHANGELOG.md new/fs-2.4.15/CHANGELOG.md
--- old/fs-2.4.14/CHANGELOG.md  2021-11-16 16:55:48.000000000 +0100
+++ new/fs-2.4.15/CHANGELOG.md  2022-02-07 13:25:38.000000000 +0100
@@ -9,6 +9,26 @@
 ## Unreleased
 
 
+## [2.4.15] - 2022-02-07
+
+### Changed
+
+- Support more lenient usernames and group names in FTP servers
+  ([#507](https://github.com/PyFilesystem/pyfilesystem2/pull/507)).
+  Closes [#506](https://github.com/PyFilesystem/pyfilesystem2/issues/506).
+
+### Fixed
+
+- Fixed `MemoryFS.move` and `MemoryFS.movedir` not updating the name of moved
+  resources, causing `MemoryFS.scandir` to use the old name.
+  ([#510](https://github.com/PyFilesystem/pyfilesystem2/pull/510)).
+  Closes [#509](https://github.com/PyFilesystem/pyfilesystem2/issues/509).
+- 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.
+  ([#511](https://github.com/PyFilesystem/pyfilesystem2/pull/511)).
+
+
 ## [2.4.14] - 2021-11-16
 
 ### Added
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fs-2.4.14/CONTRIBUTORS.md 
new/fs-2.4.15/CONTRIBUTORS.md
--- old/fs-2.4.14/CONTRIBUTORS.md       2021-11-16 16:55:48.000000000 +0100
+++ new/fs-2.4.15/CONTRIBUTORS.md       2022-02-07 13:25:38.000000000 +0100
@@ -2,6 +2,7 @@
 
 Many thanks to the following developers for contributing to this project:
 
+- [Adrian Garcia Badaracco](https://github.com/adriangb)
 - [Alex Povel](https://github.com/alexpovel)
 - [Andreas Tollk??tter](https://github.com/atollk)
 - [Andrew Scheller](https://github.com/lurch)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fs-2.4.14/PKG-INFO new/fs-2.4.15/PKG-INFO
--- old/fs-2.4.14/PKG-INFO      2021-11-16 16:55:51.959775200 +0100
+++ new/fs-2.4.15/PKG-INFO      2022-02-07 13:25:43.021060500 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: fs
-Version: 2.4.14
+Version: 2.4.15
 Summary: Python's filesystem abstraction layer
 Home-page: https://github.com/PyFilesystem/pyfilesystem2
 Author: Will McGugan
@@ -18,12 +18,12 @@
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python
 Classifier: Programming Language :: Python :: 2.7
-Classifier: Programming Language :: Python :: 3.4
 Classifier: Programming Language :: Python :: 3.5
 Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: 3.7
 Classifier: Programming Language :: Python :: 3.8
 Classifier: Programming Language :: Python :: 3.9
+Classifier: Programming Language :: Python :: 3.10
 Classifier: Programming Language :: Python :: Implementation :: CPython
 Classifier: Programming Language :: Python :: Implementation :: PyPy
 Classifier: Topic :: System :: Filesystems
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fs-2.4.14/fs/_ftp_parse.py 
new/fs-2.4.15/fs/_ftp_parse.py
--- old/fs-2.4.14/fs/_ftp_parse.py      2021-11-16 16:55:48.000000000 +0100
+++ new/fs-2.4.15/fs/_ftp_parse.py      2022-02-07 13:25:38.000000000 +0100
@@ -24,9 +24,9 @@
     \s+?
     (\d+)
     \s+?
-    ([\w\-]+)
+    ([A-Za-z0-9][A-Za-z0-9\-\.\_\@]*\$?)
     \s+?
-    ([\w\-]+)
+    ([A-Za-z0-9][A-Za-z0-9\-\.\_\@]*\$?)
     \s+?
     (\d+)
     \s+?
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fs-2.4.14/fs/_version.py new/fs-2.4.15/fs/_version.py
--- old/fs-2.4.14/fs/_version.py        2021-11-16 16:55:48.000000000 +0100
+++ new/fs-2.4.15/fs/_version.py        2022-02-07 13:25:38.000000000 +0100
@@ -1,3 +1,3 @@
 """Version, used in module and setup.py.
 """
-__version__ = "2.4.14"
+__version__ = "2.4.15"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fs-2.4.14/fs/errors.py new/fs-2.4.15/fs/errors.py
--- old/fs-2.4.14/fs/errors.py  2021-11-16 16:55:48.000000000 +0100
+++ new/fs-2.4.15/fs/errors.py  2022-02-07 13:25:38.000000000 +0100
@@ -51,6 +51,7 @@
     "ResourceNotFound",
     "ResourceReadOnly",
     "Unsupported",
+    "UnsupportedHash",
 ]
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fs-2.4.14/fs/memoryfs.py new/fs-2.4.15/fs/memoryfs.py
--- old/fs-2.4.14/fs/memoryfs.py        2021-11-16 16:55:48.000000000 +0100
+++ new/fs-2.4.15/fs/memoryfs.py        2022-02-07 13:25:38.000000000 +0100
@@ -463,8 +463,11 @@
             elif not overwrite and dst_name in dst_dir_entry:
                 raise errors.DestinationExists(dst_path)
 
+            # move the entry from the src folder to the dst folder
             dst_dir_entry.set_entry(dst_name, src_entry)
             src_dir_entry.remove_entry(src_name)
+            # make sure to update the entry name itself (see #509)
+            src_entry.name = dst_name
 
             if preserve_time:
                 copy_modified_time(self, src_path, self, dst_path)
@@ -481,12 +484,16 @@
             if not src_entry.is_dir:
                 raise errors.DirectoryExpected(src_path)
 
+            # move the entry from the src folder to the dst folder
             dst_dir_entry = self._get_dir_entry(dst_dir)
             if dst_dir_entry is None or (not create and dst_name not in 
dst_dir_entry):
                 raise errors.ResourceNotFound(dst_path)
 
+            # move the entry from the src folder to the dst folder
             dst_dir_entry.set_entry(dst_name, src_entry)
             src_dir_entry.remove_entry(src_name)
+            # make sure to update the entry name itself (see #509)
+            src_entry.name = dst_name
 
             if preserve_time:
                 copy_modified_time(self, src_path, self, dst_path)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fs-2.4.14/fs/test.py new/fs-2.4.15/fs/test.py
--- old/fs-2.4.14/fs/test.py    2021-11-16 16:55:48.000000000 +0100
+++ new/fs-2.4.15/fs/test.py    2022-02-07 13:25:38.000000000 +0100
@@ -1738,6 +1738,24 @@
         self._test_copy_dir("temp://")
         self._test_copy_dir_write("temp://")
 
+    def test_move_dir_same_fs(self):
+        self.fs.makedirs("foo/bar/baz")
+        self.fs.makedir("egg")
+        self.fs.writetext("top.txt", "Hello, World")
+        self.fs.writetext("/foo/bar/baz/test.txt", "Goodbye, World")
+
+        fs.move.move_dir(self.fs, "foo", self.fs, "foo2")
+
+        expected = {"/egg", "/foo2", "/foo2/bar", "/foo2/bar/baz"}
+        self.assertEqual(set(walk.walk_dirs(self.fs)), expected)
+        self.assert_text("top.txt", "Hello, World")
+        self.assert_text("/foo2/bar/baz/test.txt", "Goodbye, World")
+
+        self.assertEqual(sorted(self.fs.listdir("/")), ["egg", "foo2", 
"top.txt"])
+        self.assertEqual(
+            sorted(x.name for x in self.fs.scandir("/")), ["egg", "foo2", 
"top.txt"]
+        )
+
     def _test_move_dir_write(self, protocol):
         # Test moving to this filesystem from another.
         other_fs = open_fs(protocol)
@@ -1760,19 +1778,6 @@
     def test_move_dir_temp(self):
         self._test_move_dir_write("temp://")
 
-    def test_move_same_fs(self):
-        self.fs.makedirs("foo/bar/baz")
-        self.fs.makedir("egg")
-        self.fs.writetext("top.txt", "Hello, World")
-        self.fs.writetext("/foo/bar/baz/test.txt", "Goodbye, World")
-
-        fs.move.move_dir(self.fs, "foo", self.fs, "foo2")
-
-        expected = {"/egg", "/foo2", "/foo2/bar", "/foo2/bar/baz"}
-        self.assertEqual(set(walk.walk_dirs(self.fs)), expected)
-        self.assert_text("top.txt", "Hello, World")
-        self.assert_text("/foo2/bar/baz/test.txt", "Goodbye, World")
-
     def test_move_file_same_fs(self):
         text = "Hello, World"
         self.fs.makedir("foo").writetext("test.txt", text)
@@ -1782,6 +1787,9 @@
         self.assert_not_exists("foo/test.txt")
         self.assert_text("foo/test2.txt", text)
 
+        self.assertEqual(self.fs.listdir("foo"), ["test2.txt"])
+        self.assertEqual(next(self.fs.scandir("foo")).name, "test2.txt")
+
     def _test_move_file(self, protocol):
         other_fs = open_fs(protocol)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fs-2.4.14/fs/wrapfs.py new/fs-2.4.15/fs/wrapfs.py
--- old/fs-2.4.14/fs/wrapfs.py  2021-11-16 16:55:48.000000000 +0100
+++ new/fs-2.4.15/fs/wrapfs.py  2022-02-07 13:25:38.000000000 +0100
@@ -11,7 +11,6 @@
 from .base import FS
 from .copy import copy_file, copy_dir
 from .info import Info
-from .move import move_file, move_dir
 from .path import abspath, join, normpath
 from .error_tools import unwrap_errors
 
@@ -169,24 +168,21 @@
 
     def move(self, src_path, dst_path, overwrite=False, preserve_time=False):
         # type: (Text, Text, bool, bool) -> None
-        # A custom move permits a potentially optimized code path
-        src_fs, _src_path = self.delegate_path(src_path)
-        dst_fs, _dst_path = self.delegate_path(dst_path)
+        _fs, _src_path = self.delegate_path(src_path)
+        _, _dst_path = self.delegate_path(dst_path)
         with unwrap_errors({_src_path: src_path, _dst_path: dst_path}):
-            if not overwrite and dst_fs.exists(_dst_path):
-                raise errors.DestinationExists(_dst_path)
-            move_file(src_fs, _src_path, dst_fs, _dst_path, 
preserve_time=preserve_time)
+            _fs.move(
+                _src_path, _dst_path, overwrite=overwrite, 
preserve_time=preserve_time
+            )
 
     def movedir(self, src_path, dst_path, create=False, preserve_time=False):
         # type: (Text, Text, bool, bool) -> None
-        src_fs, _src_path = self.delegate_path(src_path)
-        dst_fs, _dst_path = self.delegate_path(dst_path)
+        _fs, _src_path = self.delegate_path(src_path)
+        _, _dst_path = self.delegate_path(dst_path)
         with unwrap_errors({_src_path: src_path, _dst_path: dst_path}):
-            if not create and not dst_fs.exists(_dst_path):
-                raise errors.ResourceNotFound(dst_path)
-            if not src_fs.getinfo(_src_path).is_dir:
-                raise errors.DirectoryExpected(src_path)
-            move_dir(src_fs, _src_path, dst_fs, _dst_path, 
preserve_time=preserve_time)
+            _fs.movedir(
+                _src_path, _dst_path, create=create, 
preserve_time=preserve_time
+            )
 
     def openbin(self, path, mode="r", buffering=-1, **options):
         # type: (Text, Text, int, **Any) -> BinaryIO
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fs-2.4.14/fs.egg-info/PKG-INFO 
new/fs-2.4.15/fs.egg-info/PKG-INFO
--- old/fs-2.4.14/fs.egg-info/PKG-INFO  2021-11-16 16:55:51.000000000 +0100
+++ new/fs-2.4.15/fs.egg-info/PKG-INFO  2022-02-07 13:25:43.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: fs
-Version: 2.4.14
+Version: 2.4.15
 Summary: Python's filesystem abstraction layer
 Home-page: https://github.com/PyFilesystem/pyfilesystem2
 Author: Will McGugan
@@ -18,12 +18,12 @@
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python
 Classifier: Programming Language :: Python :: 2.7
-Classifier: Programming Language :: Python :: 3.4
 Classifier: Programming Language :: Python :: 3.5
 Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: 3.7
 Classifier: Programming Language :: Python :: 3.8
 Classifier: Programming Language :: Python :: 3.9
+Classifier: Programming Language :: Python :: 3.10
 Classifier: Programming Language :: Python :: Implementation :: CPython
 Classifier: Programming Language :: Python :: Implementation :: PyPy
 Classifier: Topic :: System :: Filesystems
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fs-2.4.14/setup.cfg new/fs-2.4.15/setup.cfg
--- old/fs-2.4.14/setup.cfg     2021-11-16 16:55:51.959775200 +0100
+++ new/fs-2.4.15/setup.cfg     2022-02-07 13:25:43.025060400 +0100
@@ -19,12 +19,12 @@
        Operating System :: OS Independent
        Programming Language :: Python
        Programming Language :: Python :: 2.7
-       Programming Language :: Python :: 3.4
        Programming Language :: Python :: 3.5
        Programming Language :: Python :: 3.6
        Programming Language :: Python :: 3.7
        Programming Language :: Python :: 3.8
        Programming Language :: Python :: 3.9
+       Programming Language :: Python :: 3.10
        Programming Language :: Python :: Implementation :: CPython
        Programming Language :: Python :: Implementation :: PyPy
        Topic :: System :: Filesystems
@@ -122,7 +122,7 @@
        slow: marks tests as slow (deselect with '-m "not slow"')
 
 [tox:tox]
-envlist = py{27,34}{,-scandir}, py{35,36,37,38,39}, pypy{27,36,37}, typecheck, 
codestyle, docstyle, codeformat
+envlist = py{27,34}{,-scandir}, py{35,36,37,38,39,310}, pypy{27,36,37}, 
typecheck, codestyle, docstyle, codeformat
 sitepackages = false
 skip_missing_interpreters = true
 requires = 
@@ -133,9 +133,9 @@
 deps = 
        -rtests/requirements.txt
        coverage~=5.0
-       py{35,36,37,38,39,py36,py37}: pytest~=6.0
+       py{35,36,37,38,39,310,py36,py37}: pytest~=6.0
        py{27,34,py27}: pytest~=4.6
-       py{35,36,37,38,39,py36,py37}: pytest-randomly~=3.5
+       py{35,36,37,38,39,310,py36,py37}: pytest-randomly~=3.5
        py{27,34,py27}: pytest-randomly~=1.2
        scandir: .[scandir]
        !scandir: .
@@ -174,6 +174,7 @@
        3.7: py37
        3.8: py38
        3.9: py39
+       3.10: py310
        pypy-2.7: pypy27
        pypy-3.6: pypy36
        pypy-3.7: pypy37
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fs-2.4.14/tests/test_ftp_parse.py 
new/fs-2.4.15/tests/test_ftp_parse.py
--- old/fs-2.4.14/tests/test_ftp_parse.py       2021-11-16 16:55:48.000000000 
+0100
+++ new/fs-2.4.15/tests/test_ftp_parse.py       2022-02-07 13:25:38.000000000 
+0100
@@ -50,7 +50,9 @@
             drwxr-xr-x   12 0        0            4096 Sep 29 13:13 pub
             -rw-r--r--    1 0        0              26 Mar 04  2010 robots.txt
             drwxr-xr-x   8 foo      bar          4096 Oct  4 09:05 test
+            drwxr-xr-x   8 f      b          4096 Oct  4 09:05 test
             drwxr-xr-x   2 foo-user foo-group         0 Jan  5 11:59 240485
+            drwxr-xr-x   2 foo.user$ foo@group_         0 Jan  5 11:59 240485
             """
         )
 
@@ -149,6 +151,18 @@
             },
             {
                 "access": {
+                    "group": "b",
+                    "permissions": ["g_r", "g_x", "o_r", "o_x", "u_r", "u_w", 
"u_x"],
+                    "user": "f",
+                },
+                "basic": {"is_dir": True, "name": "test"},
+                "details": {"modified": 1507107900.0, "size": 4096, "type": 1},
+                "ftp": {
+                    "ls": "drwxr-xr-x   8 f      b          4096 Oct  4 09:05 
test"
+                },
+            },
+            {
+                "access": {
                     "group": "foo-group",
                     "permissions": ["g_r", "g_x", "o_r", "o_x", "u_r", "u_w", 
"u_x"],
                     "user": "foo-user",
@@ -159,6 +173,18 @@
                     "ls": "drwxr-xr-x   2 foo-user foo-group         0 Jan  5 
11:59 240485"
                 },
             },
+            {
+                "access": {
+                    "group": "foo@group_",
+                    "permissions": ["g_r", "g_x", "o_r", "o_x", "u_r", "u_w", 
"u_x"],
+                    "user": "foo.user$",
+                },
+                "basic": {"is_dir": True, "name": "240485"},
+                "details": {"modified": 1483617540.0, "size": 0, "type": 1},
+                "ftp": {
+                    "ls": "drwxr-xr-x   2 foo.user$ foo@group_         0 Jan  
5 11:59 240485"
+                },
+            },
         ]
 
         parsed = ftp_parse.parse(directory.strip().splitlines())

Reply via email to