Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-fontParts for 
openSUSE:Factory checked in at 2023-12-08 22:31:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-fontParts (Old)
 and      /work/SRC/openSUSE:Factory/.python-fontParts.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-fontParts"

Fri Dec  8 22:31:49 2023 rev:8 rq:1131701 version:0.12.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-fontParts/python-fontParts.changes        
2022-12-14 14:11:28.647641135 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-fontParts.new.25432/python-fontParts.changes 
    2023-12-08 22:32:00.483899726 +0100
@@ -1,0 +2,11 @@
+Thu Dec  7 21:29:37 UTC 2023 - Dirk Müller <dmuel...@suse.com>
+
+- update to 0.12.1:
+  * Tweak to logic of `setStartSegment`
+- update to 0.12.0:
+  * Fixes to `setStartSegment` so that it keeps the start point
+    on-curve and prevents setting a setting a start segment on an
+    open contour (issues #709 and #412). Thanks @typesupply!
+  * Fixes to docs and test setup. Boring things.
+
+-------------------------------------------------------------------

Old:
----
  fontParts-0.11.0.zip

New:
----
  fontParts-0.12.1.zip

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

Other differences:
------------------
++++++ python-fontParts.spec ++++++
--- /var/tmp/diff_new_pack.iA4tgz/_old  2023-12-08 22:32:01.591940495 +0100
+++ /var/tmp/diff_new_pack.iA4tgz/_new  2023-12-08 22:32:01.595940643 +0100
@@ -1,7 +1,7 @@
 #
 # spec file
 #
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -27,7 +27,7 @@
 %define skip_python2 1
 %define skip_python36 1
 Name:           python-fontParts%{psuffix}
-Version:        0.11.0
+Version:        0.12.1
 Release:        0
 Summary:        API for interacting with the parts of fonts
 License:        MIT

++++++ fontParts-0.11.0.zip -> fontParts-0.12.1.zip ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fontParts-0.11.0/.github/workflows/publish-package.yml 
new/fontParts-0.12.1/.github/workflows/publish-package.yml
--- old/fontParts-0.11.0/.github/workflows/publish-package.yml  2022-12-09 
17:35:50.000000000 +0100
+++ new/fontParts-0.12.1/.github/workflows/publish-package.yml  2023-10-30 
19:21:38.000000000 +0100
@@ -25,9 +25,9 @@
     runs-on: ubuntu-latest
 
     steps:
-    - uses: actions/checkout@v2
+    - uses: actions/checkout@v3.5.3
     - name: Set up Python
-      uses: actions/setup-python@v2
+      uses: actions/setup-python@v4.7.0
       with:
         python-version: '3.x'
     - name: Install dependencies
@@ -40,4 +40,4 @@
         TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
       run: |
         python setup.py sdist bdist_wheel
-        twine upload dist/*
\ No newline at end of file
+        twine upload dist/*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fontParts-0.11.0/.github/workflows/run-tests.yml 
new/fontParts-0.12.1/.github/workflows/run-tests.yml
--- old/fontParts-0.11.0/.github/workflows/run-tests.yml        2022-12-09 
17:35:50.000000000 +0100
+++ new/fontParts-0.12.1/.github/workflows/run-tests.yml        2023-10-30 
19:21:38.000000000 +0100
@@ -18,21 +18,21 @@
     if: "! contains(toJSON(github.event.commits.*.message), '[skip ci]')"
     strategy:
       matrix:
-        python-version: ['3.7', '3.8', '3.9', '3.10']
+        python-version: ['3.8', '3.9', '3.10', '3.11']
         platform: [ubuntu-latest, macos-latest, windows-latest]
         exclude: # Only test on the oldest and latest supported stable Python 
on macOS and Windows.
           - platform: macos-latest
-            python-version: 3.8
-          - platform: windows-latest
-            python-version: 3.8
-          - platform: macos-latest
             python-version: 3.9
           - platform: windows-latest
             python-version: 3.9
+          - platform: macos-latest
+            python-version: 3.10
+          - platform: windows-latest
+            python-version: 3.10
     steps:
-    - uses: actions/checkout@v2
+    - uses: actions/checkout@v3.5.3
     - name: Set up Python ${{ matrix.python-version }}
-      uses: actions/setup-python@v2
+      uses: actions/setup-python@v4.7.0
       with:
         python-version: ${{ matrix.python-version }}
     - name: Install packages
@@ -44,7 +44,7 @@
         coverage combine
         coverage xml
     - name: Upload coverage to Codecov
-      uses: codecov/codecov-action@v1.5.2
+      uses: codecov/codecov-action@v3.1.4
       with:
         file: coverage.xml
         flags: unittests
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fontParts-0.11.0/Lib/fontParts/_version.py 
new/fontParts-0.12.1/Lib/fontParts/_version.py
--- old/fontParts-0.11.0/Lib/fontParts/_version.py      2022-12-09 
17:36:02.000000000 +0100
+++ new/fontParts-0.12.1/Lib/fontParts/_version.py      2023-10-30 
19:21:56.000000000 +0100
@@ -1 +1 @@
-__version__ = "0.11.0"
\ No newline at end of file
+__version__ = "0.12.1"
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fontParts-0.11.0/Lib/fontParts/base/contour.py 
new/fontParts-0.12.1/Lib/fontParts/base/contour.py
--- old/fontParts-0.11.0/Lib/fontParts/base/contour.py  2022-12-09 
17:35:50.000000000 +0100
+++ new/fontParts-0.12.1/Lib/fontParts/base/contour.py  2023-10-30 
19:21:38.000000000 +0100
@@ -628,6 +628,8 @@
         Set the first segment on the contour.
         segment can be a segment object or an index.
         """
+        if self.open:
+            raise FontPartsError("An open contour can not change the starting 
segment.")
         segments = self.segments
         if not isinstance(segment, int):
             segmentIndex = segments.index(segment)
@@ -638,50 +640,21 @@
         if segmentIndex == 0:
             return
         if segmentIndex >= len(segments):
-            raise ValueError(("The contour does not contain a segment "
-                              "at index %d" % segmentIndex))
+            raise ValueError(("The contour does not contain a segment at index 
%d" % segmentIndex))
         self._setStartSegment(segmentIndex)
 
     def _setStartSegment(self, segmentIndex, **kwargs):
         """
         Subclasses may override this method.
         """
+        # get the previous segment and set
+        # its on curve as the first point
+        # in the contour. this matches the
+        # iteration behavior of self.segments.
+        segmentIndex -= 1
         segments = self.segments
-        oldStart = segments[-1]
-        oldLast = segments[0]
-        # If the contour ends with a curve on top of a move,
-        # delete the move.
-        if oldLast.type == "curve" or oldLast.type == "qcurve":
-            startOn = oldStart.onCurve
-            lastOn = oldLast.onCurve
-            if startOn.x == lastOn.x and startOn.y == lastOn.y:
-                self.removeSegment(0)
-                # Shift new the start index.
-                segmentIndex = segmentIndex - 1
-                segments = self.segments
-        # If the first point is a move, convert it to a line.
-        if segments[0].type == "move":
-            segments[0].type = "line"
-        # Reorder the points internally.
-        segments = segments[segmentIndex - 1:] + segments[:segmentIndex - 1]
-        points = []
-        for segment in segments:
-            for point in segment:
-                points.append(((point.x, point.y), point.type,
-                               point.smooth, point.name, point.identifier))
-        # Clear the points.
-        for point in self.points:
-            self.removePoint(point)
-        # Add the points.
-        for point in points:
-            position, type, smooth, name, identifier = point
-            self.appendPoint(
-                position,
-                type=type,
-                smooth=smooth,
-                name=name,
-                identifier=identifier
-            )
+        segment = segments[segmentIndex]
+        self.setStartPoint(segment.points[-1])
 
     # -------
     # bPoints
@@ -960,11 +933,10 @@
     def setStartPoint(self, point):
         """
         Set the first point on the contour.
-        point can be a segment object or an index.
+        point can be a point object or an index.
         """
         if self.open:
             raise FontPartsError("An open contour can not change the starting 
point.")
-
         points = self.points
         if not isinstance(point, int):
             pointIndex = points.index(point)
@@ -972,10 +944,8 @@
             pointIndex = point
         if pointIndex == 0:
             return
-
         if pointIndex >= len(points):
-            raise ValueError(("The contour does not contain a point "
-                              "at index %d" % pointIndex))
+            raise ValueError(("The contour does not contain a point at index 
%d" % pointIndex))
         self._setStartPoint(pointIndex)
 
     def _setStartPoint(self, pointIndex, **kwargs):
@@ -996,6 +966,7 @@
                 name=point.name,
                 identifier=point.identifier
             )
+
     # ---------
     # Selection
     # ---------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fontParts-0.11.0/Lib/fontParts/base/glyph.py 
new/fontParts-0.12.1/Lib/fontParts/base/glyph.py
--- old/fontParts-0.11.0/Lib/fontParts/base/glyph.py    2022-12-09 
17:35:50.000000000 +0100
+++ new/fontParts-0.12.1/Lib/fontParts/base/glyph.py    2023-10-30 
19:21:38.000000000 +0100
@@ -1694,7 +1694,7 @@
         mathGlyph.drawPoints(pen, filterRedundantPoints=filterRedundantPoints)
         for anchor in mathGlyph.anchors:
             a = copied.appendAnchor(
-                name=anchor["name"],
+                name=anchor.get("name"),
                 position=(anchor["x"], anchor["y"]),
                 color=anchor["color"]
             )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fontParts-0.11.0/Lib/fontParts/test/test_contour.py 
new/fontParts-0.12.1/Lib/fontParts/test/test_contour.py
--- old/fontParts-0.11.0/Lib/fontParts/test/test_contour.py     2022-12-09 
17:35:50.000000000 +0100
+++ new/fontParts-0.12.1/Lib/fontParts/test/test_contour.py     2023-10-30 
19:21:38.000000000 +0100
@@ -670,6 +670,24 @@
             [(0, 0), (2, 2), (3, 3), (4, 4), (1, 1), (5, 5)]
         )
 
+    def test_setStartSegment(self):
+        contour, _ = self.objectGenerator("contour")
+        contour.appendPoint((50, 0), "curve")
+        contour.appendPoint((75, 0), "offcurve")
+        contour.appendPoint((100, 25), "offcurve")
+        contour.appendPoint((100, 50), "curve")
+        contour.appendPoint((100, 75), "offcurve")
+        contour.appendPoint((75, 100), "offcurve")
+        contour.appendPoint((50, 100), "curve")
+        contour.appendPoint((25, 100), "offcurve")
+        contour.appendPoint((0, 75), "offcurve")
+        contour.appendPoint((0, 50), "curve")
+        contour.appendPoint((0, 25), "offcurve")
+        contour.appendPoint((25, 0), "offcurve")
+        contour.setStartSegment(1)
+        self.assertEqual(contour.points[0].type, "curve")
+        self.assertEqual((contour.points[0].x, contour.points[0].y), (100, 50))
+
     # ------
     # points
     # ------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fontParts-0.11.0/Lib/fontParts.egg-info/PKG-INFO 
new/fontParts-0.12.1/Lib/fontParts.egg-info/PKG-INFO
--- old/fontParts-0.11.0/Lib/fontParts.egg-info/PKG-INFO        2022-12-09 
17:36:02.000000000 +0100
+++ new/fontParts-0.12.1/Lib/fontParts.egg-info/PKG-INFO        2023-10-30 
19:21:56.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: fontParts
-Version: 0.11.0
+Version: 0.12.1
 Summary: An API for interacting with the parts of fonts during the font 
development process.
 Home-page: http://github.com/robotools/fontParts
 Author: Just van Rossum, Tal Leming, Erik van Blokland, Ben Kiel, others
@@ -23,6 +23,10 @@
 Classifier: Topic :: Software Development :: Libraries
 Requires-Python: >=3.7
 License-File: LICENSE
+Requires-Dist: FontTools[lxml,ufo,unicode]>=3.32.0
+Requires-Dist: fontMath>=0.4.8
+Requires-Dist: defcon[pens]>=0.6.0
+Requires-Dist: booleanOperations>=0.9.0
 
 |CI Build Status| |Coverage| |PyPI| |Versions|
 
@@ -149,7 +153,7 @@
    :target: 
https://github.com/robotools/fontParts/actions?query=workflow%3ATests
 .. |PyPI| image:: https://img.shields.io/pypi/v/fontParts.svg
    :target: https://pypi.org/project/fontParts
-.. |Versions| image:: 
https://img.shields.io/badge/python-3.7%2C%203.8%2C%203.9%2C%203.10-blue.svg
+.. |Versions| image:: 
https://img.shields.io/badge/python-3.8%2C%203.9%2C%203.10%2C%203.11-blue.svg
    :alt: Python Versions
 .. |Coverage| image:: 
https://codecov.io/gh/robotools/fontParts/branch/master/graph/badge.svg
    :target: https://codecov.io/gh/robotools/fontParts
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fontParts-0.11.0/NEWS.rst 
new/fontParts-0.12.1/NEWS.rst
--- old/fontParts-0.11.0/NEWS.rst       2022-12-09 17:35:50.000000000 +0100
+++ new/fontParts-0.12.1/NEWS.rst       2023-10-30 19:21:38.000000000 +0100
@@ -1,3 +1,18 @@
+0.12.1 (released 2023-10-30)
+---------------------------
+- Tweak to logic of `setStartSegment`
+
+0.12.0 (released 2023-10-30)
+---------------------------
+- Fixes to `setStartSegment` so that it keeps the start point on-curve and 
prevents setting a setting a start segment on an open contour (issues #709 and 
#412). Thanks @typesupply!
+- Fixes to docs and test setup. Boring things.
+
+0.11.0 (released 2022-12-09)
+---------------------------
+- Expose the `mathGlyph` options. Thanks @typesupply! See #672
+- Set defaultLayer to "public.default" when its available. Fixes issue #674. 
Thanks @typemytype! See #675.
+- Add `info.update` to the info object. Thanks @typesupply! See #676
+
 0.10.8 (released 2022-09-03)
 ---------------------------
 - Adds `setStartPoint` to the contour object. Thanks @typemytype! See #668.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fontParts-0.11.0/PKG-INFO 
new/fontParts-0.12.1/PKG-INFO
--- old/fontParts-0.11.0/PKG-INFO       2022-12-09 17:36:02.000000000 +0100
+++ new/fontParts-0.12.1/PKG-INFO       2023-10-30 19:21:56.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: fontParts
-Version: 0.11.0
+Version: 0.12.1
 Summary: An API for interacting with the parts of fonts during the font 
development process.
 Home-page: http://github.com/robotools/fontParts
 Author: Just van Rossum, Tal Leming, Erik van Blokland, Ben Kiel, others
@@ -23,6 +23,10 @@
 Classifier: Topic :: Software Development :: Libraries
 Requires-Python: >=3.7
 License-File: LICENSE
+Requires-Dist: FontTools[lxml,ufo,unicode]>=3.32.0
+Requires-Dist: fontMath>=0.4.8
+Requires-Dist: defcon[pens]>=0.6.0
+Requires-Dist: booleanOperations>=0.9.0
 
 |CI Build Status| |Coverage| |PyPI| |Versions|
 
@@ -149,7 +153,7 @@
    :target: 
https://github.com/robotools/fontParts/actions?query=workflow%3ATests
 .. |PyPI| image:: https://img.shields.io/pypi/v/fontParts.svg
    :target: https://pypi.org/project/fontParts
-.. |Versions| image:: 
https://img.shields.io/badge/python-3.7%2C%203.8%2C%203.9%2C%203.10-blue.svg
+.. |Versions| image:: 
https://img.shields.io/badge/python-3.8%2C%203.9%2C%203.10%2C%203.11-blue.svg
    :alt: Python Versions
 .. |Coverage| image:: 
https://codecov.io/gh/robotools/fontParts/branch/master/graph/badge.svg
    :target: https://codecov.io/gh/robotools/fontParts
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fontParts-0.11.0/README.rst 
new/fontParts-0.12.1/README.rst
--- old/fontParts-0.11.0/README.rst     2022-12-09 17:35:50.000000000 +0100
+++ new/fontParts-0.12.1/README.rst     2023-10-30 19:21:38.000000000 +0100
@@ -123,7 +123,7 @@
    :target: 
https://github.com/robotools/fontParts/actions?query=workflow%3ATests
 .. |PyPI| image:: https://img.shields.io/pypi/v/fontParts.svg
    :target: https://pypi.org/project/fontParts
-.. |Versions| image:: 
https://img.shields.io/badge/python-3.7%2C%203.8%2C%203.9%2C%203.10-blue.svg
+.. |Versions| image:: 
https://img.shields.io/badge/python-3.8%2C%203.9%2C%203.10%2C%203.11-blue.svg
    :alt: Python Versions
 .. |Coverage| image:: 
https://codecov.io/gh/robotools/fontParts/branch/master/graph/badge.svg
    :target: https://codecov.io/gh/robotools/fontParts
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fontParts-0.11.0/documentation/source/objectref/objects/info.rst 
new/fontParts-0.12.1/documentation/source/objectref/objects/info.rst
--- old/fontParts-0.11.0/documentation/source/objectref/objects/info.rst        
2022-12-09 17:35:50.000000000 +0100
+++ new/fontParts-0.12.1/documentation/source/objectref/objects/info.rst        
2023-10-30 19:21:38.000000000 +0100
@@ -13,6 +13,10 @@
 
 :class:`Info <BaseInfo>` validates any value set for a `Info <BaseInfo>` item, 
but does not check if the data is sane (i.e., you can set valid but incorrect 
data).
 
+The :class:`Info <BaseInfo>` object (as any other fontParts object) does not 
allow to modify mutable containers (like lists) in-place. Always get a value, 
modify it and then set it back to perform an edit. 
+
+For a list of info attributes, refer to the `UFO fontinfo.plist Specification 
<https://unifiedfontobject.org/versions/ufo3/fontinfo.plist/#specification>`_.
+
 ********
 Overview
 ********
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fontParts-0.11.0/requirements.txt 
new/fontParts-0.12.1/requirements.txt
--- old/fontParts-0.11.0/requirements.txt       2022-12-09 17:35:50.000000000 
+0100
+++ new/fontParts-0.12.1/requirements.txt       2023-10-30 19:21:38.000000000 
+0100
@@ -1,4 +1,4 @@
-FontTools[unicode,ufo,lxml]==4.38.0
+FontTools[ufo,lxml,unicode]==4.43.1
 fontMath==0.9.3
-defcon[pens]==0.10.2
+defcon[pens]==0.10.3
 booleanOperations==0.9.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fontParts-0.11.0/setup.cfg 
new/fontParts-0.12.1/setup.cfg
--- old/fontParts-0.11.0/setup.cfg      2022-12-09 17:36:02.000000000 +0100
+++ new/fontParts-0.12.1/setup.cfg      2023-10-30 19:21:56.000000000 +0100
@@ -8,7 +8,7 @@
 max-line-length = 500
 
 [options]
-setup_requires = setuptools_scm==7.0.5
+setup_requires = setuptools_scm==8.0.3
 
 [egg_info]
 tag_build = 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fontParts-0.11.0/tox.ini new/fontParts-0.12.1/tox.ini
--- old/fontParts-0.11.0/tox.ini        2022-12-09 17:35:50.000000000 +0100
+++ new/fontParts-0.12.1/tox.ini        2023-10-30 19:21:38.000000000 +0100
@@ -5,7 +5,7 @@
 
 [tox]
 minversion = 3.0
-envlist = py3{7,8,9,10}-cov, htmlcov
+envlist = py3{8,9,10,11}-cov, htmlcov
 
 [testenv]
 deps =

Reply via email to