Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package picard for openSUSE:Factory checked 
in at 2022-12-11 17:16:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/picard (Old)
 and      /work/SRC/openSUSE:Factory/.picard.new.1835 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "picard"

Sun Dec 11 17:16:35 2022 rev:64 rq:1041855 version:2.8.5

Changes:
--------
--- /work/SRC/openSUSE:Factory/picard/picard.changes    2022-11-30 
15:01:25.133863157 +0100
+++ /work/SRC/openSUSE:Factory/.picard.new.1835/picard.changes  2022-12-11 
17:16:36.785873419 +0100
@@ -1,0 +2,8 @@
+Tue Dec  6 13:48:58 UTC 2022 - Paolo Stivanin <[email protected]>
+
+- Update to 2.8.5:
+  * Relative paths for cover art file names no longer work
+  * PICARD-2593 - Toolbar icon text disappears when saving options
+  * PICARD-2596 - "Show icons in menus" option is applied without saving 
options
+
+-------------------------------------------------------------------

Old:
----
  picard-2.8.4.tar.gz

New:
----
  picard-2.8.5.tar.gz

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

Other differences:
------------------
++++++ picard.spec ++++++
--- /var/tmp/diff_new_pack.LHMVti/_old  2022-12-11 17:16:37.333876472 +0100
+++ /var/tmp/diff_new_pack.LHMVti/_new  2022-12-11 17:16:37.337876494 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           picard
-Version:        2.8.4
+Version:        2.8.5
 Release:        0
 Summary:        The Next Generation MusicBrainz Tagger
 License:        GPL-2.0-or-later

++++++ picard-2.8.4.tar.gz -> picard-2.8.5.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/picard-release-2.8.4/.github/workflows/pypi-release.yml 
new/picard-release-2.8.5/.github/workflows/pypi-release.yml
--- old/picard-release-2.8.4/.github/workflows/pypi-release.yml 2022-11-22 
16:26:36.000000000 +0100
+++ new/picard-release-2.8.5/.github/workflows/pypi-release.yml 2022-12-06 
07:54:05.000000000 +0100
@@ -74,11 +74,7 @@
       fail-fast: false
       matrix:
         os: [macos-10.15, windows-2019]
-        python-version: ['3.6', '3.7', '3.8', '3.9', '3.10']
-        exclude:
-        # pyobjc is not yet compatible with Python 3.10
-        - os: macos-10.15
-          python-version: '3.10'
+        python-version: ['3.7', '3.8', '3.9', '3.10', '3.11']
     steps:
     - uses: actions/checkout@v3
     - name: Set up Python ${{ matrix.python-version }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/picard-release-2.8.4/.github/workflows/run-tests.yml 
new/picard-release-2.8.5/.github/workflows/run-tests.yml
--- old/picard-release-2.8.4/.github/workflows/run-tests.yml    2022-11-22 
16:26:36.000000000 +0100
+++ new/picard-release-2.8.5/.github/workflows/run-tests.yml    2022-12-06 
07:54:05.000000000 +0100
@@ -8,13 +8,10 @@
     strategy:
       matrix:
         os: [macos-latest, ubuntu-latest, windows-2019]
-        python-version: ['3.6', '3.7', '3.8', '3.9', '3.10']
-        exclude:
-        - os: macos-latest
-          python-version: '3.6'
+        python-version: ['3.7', '3.8', '3.9', '3.10', '3.11']
         include:
         - os: macos-10.15
-          python-version: '3.6'
+          python-version: '3.7'
     env:
       CODACY_PROJECT_TOKEN: ${{ secrets.CODACY_PROJECT_TOKEN }}
 
@@ -92,7 +89,7 @@
     strategy:
       matrix:
         os: [macos-latest, ubuntu-latest, windows-latest]
-        python-version: ['3.8']
+        python-version: ['3.8', '3.11']
 
     steps:
     - uses: actions/checkout@v3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/picard-release-2.8.4/NEWS.md 
new/picard-release-2.8.5/NEWS.md
--- old/picard-release-2.8.4/NEWS.md    2022-11-22 16:26:36.000000000 +0100
+++ new/picard-release-2.8.5/NEWS.md    2022-12-06 07:54:05.000000000 +0100
@@ -1,3 +1,12 @@
+# Version 2.8.5 - 2022-12-06
+
+## Bugfixes
+
+- [PICARD-2590](https://tickets.metabrainz.org/browse/PICARD-2590) - Relative 
paths for cover art file names no longer work
+- [PICARD-2593](https://tickets.metabrainz.org/browse/PICARD-2593) - Toolbar 
icon text disappears when saving options
+- [PICARD-2596](https://tickets.metabrainz.org/browse/PICARD-2596) - "Show 
icons in menus" option is applied without saving options
+
+
 # Version 2.8.4 - 2022-11-22
 
 ## Bugfixes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/picard-release-2.8.4/picard/__init__.py 
new/picard-release-2.8.5/picard/__init__.py
--- old/picard-release-2.8.4/picard/__init__.py 2022-11-22 16:26:36.000000000 
+0100
+++ new/picard-release-2.8.5/picard/__init__.py 2022-12-06 07:54:05.000000000 
+0100
@@ -42,7 +42,7 @@
 PICARD_DISPLAY_NAME = "MusicBrainz Picard"
 PICARD_APP_ID = "org.musicbrainz.Picard"
 PICARD_DESKTOP_NAME = PICARD_APP_ID + ".desktop"
-PICARD_VERSION = Version(2, 8, 4, 'final', 0)
+PICARD_VERSION = Version(2, 8, 5, 'final', 0)
 
 
 # optional build version
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/picard-release-2.8.4/picard/coverart/image.py 
new/picard-release-2.8.5/picard/coverart/image.py
--- old/picard-release-2.8.4/picard/coverart/image.py   2022-11-22 
16:26:36.000000000 +0100
+++ new/picard-release-2.8.5/picard/coverart/image.py   2022-12-06 
07:54:05.000000000 +0100
@@ -324,11 +324,17 @@
         filename = script_to_filename(filename, metadata)
         if not filename:
             filename = DEFAULT_COVER_IMAGE_FILENAME
-        if is_absolute_path(filename):
-            dirname = os.path.dirname(filename)
-        filename = make_short_filename(
-            dirname, os.path.basename(filename), 
win_shorten_path=win_shorten_path)
-        filename = os.path.join(dirname, filename)
+        dirname = os.path.normpath(dirname)
+        if not is_absolute_path(filename):
+            filename = os.path.normpath(os.path.join(dirname, filename))
+        try:
+            basedir = os.path.commonpath((dirname, os.path.dirname(filename)))
+            relpath = os.path.relpath(filename, start=basedir)
+        except ValueError:
+            basedir = os.path.dirname(filename)
+            relpath = os.path.basename(filename)
+        relpath = make_short_filename(basedir, relpath, 
win_shorten_path=win_shorten_path)
+        filename = os.path.join(basedir, relpath)
         filename = make_save_path(filename, win_compat=win_compat, 
mac_compat=IS_MACOS)
         return encode_filename(filename)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/picard-release-2.8.4/picard/ui/__init__.py 
new/picard-release-2.8.5/picard/ui/__init__.py
--- old/picard-release-2.8.4/picard/ui/__init__.py      2022-11-22 
16:26:36.000000000 +0100
+++ new/picard-release-2.8.5/picard/ui/__init__.py      2022-12-06 
07:54:05.000000000 +0100
@@ -40,6 +40,7 @@
 )
 from picard.const import DOCS_BASE_URL
 from picard.const.sys import (
+    IS_HAIKU,
     IS_MACOS,
     IS_WIN,
 )
@@ -53,6 +54,8 @@
     FONT_FAMILY_MONOSPACE = 'Menlo'
 elif IS_WIN:
     FONT_FAMILY_MONOSPACE = 'Consolas'
+elif IS_HAIKU:
+    FONT_FAMILY_MONOSPACE = 'Noto Sans Mono'
 else:
     FONT_FAMILY_MONOSPACE = 'Monospace'
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/picard-release-2.8.4/picard/ui/options/interface.py 
new/picard-release-2.8.5/picard/ui/options/interface.py
--- old/picard-release-2.8.4/picard/ui/options/interface.py     2022-11-22 
16:26:36.000000000 +0100
+++ new/picard-release-2.8.5/picard/ui/options/interface.py     2022-12-06 
07:54:05.000000000 +0100
@@ -223,7 +223,6 @@
         self.ui.add_button.clicked.connect(self.add_to_toolbar)
         self.ui.insert_separator_button.clicked.connect(self.insert_separator)
         self.ui.remove_button.clicked.connect(self.remove_action)
-        self.ui.show_menu_icons.toggled.connect(self.tagger.enable_menu_icons)
         self.move_view = MoveableListView(self.ui.toolbar_layout_list, 
self.ui.up_button,
                                           self.ui.down_button, 
self.update_action_buttons)
         self.update_buttons = self.move_view.update_buttons
@@ -255,6 +254,7 @@
         config.setting["toolbar_show_labels"] = 
self.ui.toolbar_show_labels.isChecked()
         config.setting["toolbar_multiselect"] = 
self.ui.toolbar_multiselect.isChecked()
         config.setting["show_menu_icons"] = self.ui.show_menu_icons.isChecked()
+        self.tagger.enable_menu_icons(config.setting["show_menu_icons"])
         config.setting["builtin_search"] = self.ui.builtin_search.isChecked()
         config.setting["use_adv_search_syntax"] = 
self.ui.use_adv_search_syntax.isChecked()
         config.setting["quit_confirmation"] = 
self.ui.quit_confirmation.isChecked()
@@ -364,6 +364,7 @@
             widget = widget.parent()
         # Call the main window's create toolbar method
         widget.create_action_toolbar()
+        widget.update_toolbar_style()
         widget.set_tab_order()
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/picard-release-2.8.4/test/test_coverart_image.py 
new/picard-release-2.8.5/test/test_coverart_image.py
--- old/picard-release-2.8.4/test/test_coverart_image.py        2022-11-22 
16:26:36.000000000 +0100
+++ new/picard-release-2.8.5/test/test_coverart_image.py        2022-12-06 
07:54:05.000000000 +0100
@@ -38,6 +38,7 @@
 from picard.coverart.utils import Id3ImageType
 from picard.metadata import Metadata
 from picard.util import encode_filename
+from picard.util.filenaming import WinPathTooLong
 
 
 def create_image(extra_data, types=None, support_types=False,
@@ -53,6 +54,7 @@
 
 
 class CoverArtImageTest(PicardTestCase):
+
     def test_is_front_image_no_types(self):
         image = create_image(b'a')
         self.assertTrue(image.is_front_image())
@@ -186,6 +188,68 @@
             self.assertEqual(2, counters[counter_filename])
 
 
+class CoverArtImageMakeFilenameTest(PicardTestCase):
+    def setUp(self):
+        super().setUp()
+        self.image = create_image(b'a', types=['back'], support_types=True)
+        self.metadata = Metadata()
+        self.set_config_values({
+            'windows_compatibility': False,
+            'enabled_plugins': [],
+            'ascii_filenames': False,
+        })
+
+    def compare_paths(self, path1, path2):
+        self.assertEqual(
+            encode_filename(os.path.normpath(path1)),
+            encode_filename(os.path.normpath(path2)),
+        )
+
+    def test_make_image_filename(self):
+        filename = self.image._make_image_filename("cover", "/music/albumart",
+            self.metadata, win_compat=False, win_shorten_path=False)
+        self.compare_paths('/music/albumart/cover', filename)
+
+    def test_make_image_filename_absolute_path(self):
+        filename = self.image._make_image_filename("/foo/bar/cover", 
"/music/albumart",
+            self.metadata, win_compat=False, win_shorten_path=False)
+        self.compare_paths('/foo/bar/cover', filename)
+
+    @unittest.skipUnless(IS_WIN, "windows test")
+    def test_make_image_filename_absolute_path_no_common_base(self):
+        filename = self.image._make_image_filename("D:/foo/cover", "C:/music",
+            self.metadata, win_compat=False, win_shorten_path=False)
+        self.compare_paths('D:\\foo\\cover', filename)
+
+    def test_make_image_filename_script(self):
+        cover_script = 
'%album%-$if($eq(%coverart_maintype%,front),cover,%coverart_maintype%)'
+        self.metadata['album'] = 'TheAlbum'
+        filename = self.image._make_image_filename(cover_script, "/music/",
+            self.metadata, win_compat=False, win_shorten_path=False)
+        self.compare_paths('/music/TheAlbum-back', filename)
+
+    def test_make_image_filename_save_path(self):
+        self.set_config_values({
+            'windows_compatibility': True,
+        })
+        filename = self.image._make_image_filename(".co:ver", 
"/music/albumart",
+            self.metadata, win_compat=True, win_shorten_path=False)
+        self.compare_paths('/music/albumart/_co_ver', filename)
+
+    def test_make_image_filename_win_shorten_path(self):
+        requested_path = "/" + 300 * "a" + "/cover"
+        expected_path = "/" + 226 * "a" + "/cover"
+        filename = self.image._make_image_filename(requested_path, 
"/music/albumart",
+            self.metadata, win_compat=False, win_shorten_path=True)
+        self.compare_paths(expected_path, filename)
+
+    def test_make_image_filename_win_shorten_path_too_long_base_path(self):
+        base_path = '/' + 244*'a'
+        with self.assertRaises(WinPathTooLong):
+            self.image._make_image_filename("cover", base_path,
+                self.metadata, win_compat=False, win_shorten_path=True)
+
+
 class LocalFileCoverArtImageTest(PicardTestCase):
     def test_set_file_url(self):
         path = '/some/path/image.jpeg'

Reply via email to