Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-blockdiag for
openSUSE:Factory checked in at 2023-10-04 22:31:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-blockdiag (Old)
and /work/SRC/openSUSE:Factory/.python-blockdiag.new.28202 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-blockdiag"
Wed Oct 4 22:31:43 2023 rev:10 rq:1115014 version:3.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-blockdiag/python-blockdiag.changes
2023-05-03 15:42:16.290717159 +0200
+++
/work/SRC/openSUSE:Factory/.python-blockdiag.new.28202/python-blockdiag.changes
2023-10-04 22:32:47.246538373 +0200
@@ -1,0 +2,5 @@
+Tue Oct 3 12:06:41 UTC 2023 - Markéta Machová <[email protected]>
+
+- Add upstream pillow10.patch to fix compatibility with Pillow 10.0.0
+
+-------------------------------------------------------------------
New:
----
pillow10.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-blockdiag.spec ++++++
--- /var/tmp/diff_new_pack.aHrKA6/_old 2023-10-04 22:32:48.290576108 +0200
+++ /var/tmp/diff_new_pack.aHrKA6/_new 2023-10-04 22:32:48.290576108 +0200
@@ -28,6 +28,8 @@
# PATCH-FIX-UPSTREAM python-blockdiag-nose-to-pytest.patch
gh#blockdiag/blockdiag#131 [email protected]
# Remove the last silly dependency on nose
Patch0: python-blockdiag-nose-to-pytest.patch
+# PATCH-FIX-UPSTREAM https://github.com/blockdiag/blockdiag/pull/179 Add
support for Pillow 10
+Patch1: pillow10.patch
BuildRequires: %{python_module Pillow >= 3}
BuildRequires: %{python_module base >= 3.7}
BuildRequires: %{python_module funcparserlib >= 1.0.0~a0}
++++++ pillow10.patch ++++++
>From 20d780cad84e7b010066cb55f848477957870165 Mon Sep 17 00:00:00 2001
From: Theodore Ni <[email protected]>
Date: Sat, 5 Aug 2023 10:43:46 -0700
Subject: [PATCH] Add support for Pillow 10
Fix a bunch of breaking changes in a backwards compatible way.
---
src/blockdiag/imagedraw/png.py | 47 ++++++++++++++++++++++++++++------
1 file changed, 39 insertions(+), 8 deletions(-)
diff --git a/src/blockdiag/imagedraw/png.py b/src/blockdiag/imagedraw/png.py
index 3cac05a..12f0514 100644
--- a/src/blockdiag/imagedraw/png.py
+++ b/src/blockdiag/imagedraw/png.py
@@ -30,6 +30,21 @@
from blockdiag.utils.myitertools import istep, stepslice
+# to support pillow < 9.1.0
+if not hasattr(Image, 'Resampling'):
+ from enum import IntEnum
+
+ class Resampling(IntEnum):
+ NEAREST = 0
+ BOX = 4
+ BILINEAR = 2
+ HAMMING = 5
+ BICUBIC = 3
+ LANCZOS = 1
+
+ Image.Resampling = Resampling
+
+
def point_pairs(xylist):
iterable = iter(xylist)
for pt in iterable:
@@ -147,7 +162,7 @@ def set_canvas_size(self, size):
self.draw = ImageDraw.Draw(self._image)
def resizeCanvas(self, size):
- self._image = self._image.resize(size, Image.ANTIALIAS)
+ self._image = self._image.resize(size, Image.Resampling.LANCZOS)
self.draw = ImageDraw.Draw(self._image)
def arc(self, box, start, end, **kwargs):
@@ -273,13 +288,21 @@ def textfolder(self):
def textlinesize(self, string, font):
ttfont = ttfont_for(font)
if ttfont is None:
- size = self.draw.textsize(string, font=None)
+ if hasattr(self.draw, 'textbbox'):
+ left, top, right, bottom = self.draw.textbbox((0, 0), string)
+ size = (right - left, bottom - top)
+ else:
+ size = self.draw.textsize(string, font=None)
font_ratio = font.size * 1.0 / FontMap.BASE_FONTSIZE
size = Size(int(size[0] * font_ratio),
int(size[1] * font_ratio))
else:
- size = Size(*ttfont.getsize(string))
+ if hasattr(ttfont, 'getbbox'):
+ left, top, right, bottom = ttfont.getbbox(string)
+ size = Size(right - left, bottom - top)
+ else:
+ size = Size(*ttfont.getsize(string))
return size
@@ -291,7 +314,11 @@ def text(self, xy, string, font, **kwargs):
if self.scale_ratio == 1 and font.size == FontMap.BASE_FONTSIZE:
self.draw.text(xy, string, fill=fill)
else:
- size = self.draw.textsize(string)
+ if hasattr(self.draw, 'textbbox'):
+ left, top, right, bottom = self.draw.textbbox((0, 0),
string)
+ size = (right - left, bottom - top)
+ else:
+ size = self.draw.textsize(string)
image = Image.new('RGBA', size)
draw = ImageDraw.Draw(image)
draw.text((0, 0), string, fill=fill)
@@ -299,10 +326,14 @@ def text(self, xy, string, font, **kwargs):
basesize = (size[0] * self.scale_ratio,
size[1] * self.scale_ratio)
- text_image = image.resize(basesize, Image.ANTIALIAS)
+ text_image = image.resize(basesize, Image.Resampling.LANCZOS)
self.paste(text_image, xy, text_image)
else:
- size = ttfont.getsize(string)
+ if hasattr(ttfont, 'getbbox'):
+ left, top, right, bottom = ttfont.getbbox(string)
+ size = (right - left, bottom - top)
+ else:
+ size = ttfont.getsize(string)
# Generate mask to support BDF(bitmap font)
mask = Image.new('1', size)
@@ -370,7 +401,7 @@ def image(self, box, url):
# resize image.
w = min([box.width, image.size[0] * self.scale_ratio])
h = min([box.height, image.size[1] * self.scale_ratio])
- image.thumbnail((w, h), Image.ANTIALIAS)
+ image.thumbnail((w, h), Image.Resampling.LANCZOS)
# centering image.
w, h = image.size
@@ -404,7 +435,7 @@ def save(self, filename, size, _format):
y = int(self._image.size[1] / self.scale_ratio)
size = (x, y)
- self._image.thumbnail(size, Image.ANTIALIAS)
+ self._image.thumbnail(size, Image.Resampling.LANCZOS)
if self.filename:
self._image.save(self.filename, _format)