Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package imgp for openSUSE:Factory checked in at 2023-09-28 00:25:45 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/imgp (Old) and /work/SRC/openSUSE:Factory/.imgp.new.23327 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "imgp" Thu Sep 28 00:25:45 2023 rev:7 rq:1113797 version:2.9 Changes: -------- --- /work/SRC/openSUSE:Factory/imgp/imgp.changes 2020-12-02 13:59:06.937857677 +0100 +++ /work/SRC/openSUSE:Factory/.imgp.new.23327/imgp.changes 2023-09-28 00:35:07.449533138 +0200 @@ -1,0 +2,12 @@ +Wed Sep 27 06:55:33 UTC 2023 - Andrea Manzini <[email protected]> + +- Update to version 2.9 + * Support converting P mode PNGs + * Fix AttributeError: module 'PIL.Image' has no attribute 'Resampling' + * Fix ANTIALIAS is deprecated and will be removed in Pillow 10 + * Add Python 3.11 support + * Remove support for Python 3.7 (EOL) + +- ran spec-cleaner + +------------------------------------------------------------------- Old: ---- imgp-2.8.tar.gz New: ---- imgp-2.9.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ imgp.spec ++++++ --- /var/tmp/diff_new_pack.KIQOaR/_old 2023-09-28 00:35:08.469570242 +0200 +++ /var/tmp/diff_new_pack.KIQOaR/_new 2023-09-28 00:35:08.473570388 +0200 @@ -1,7 +1,7 @@ # # spec file for package imgp # -# Copyright (c) 2020 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 @@ -17,7 +17,7 @@ Name: imgp -Version: 2.8 +Version: 2.9 Release: 0 Summary: Image resizer and rotator License: GPL-3.0-or-later @@ -42,7 +42,7 @@ Group: Productivity/Graphics/Convertors Requires: %{name} = %{version} Requires: bash-completion -Supplements: packageand(imgp:bash) +Supplements: (imgp and bash) BuildArch: noarch %description bash-completion @@ -54,7 +54,7 @@ Summary: Fish Completion for %{name} Group: Productivity/Graphics/Convertors Requires: %{name} = %{version} -Supplements: packageand(imgp:fish) +Supplements: (imgp and fish) BuildArch: noarch %description fish-completion @@ -64,7 +64,7 @@ Summary: ZSH Completion for %{name} Group: Productivity/Graphics/Convertors Requires: %{name} = %{version} -Supplements: packageand(imgp:zsh) +Supplements: (imgp and zsh) BuildArch: noarch %description zsh-completion @@ -89,7 +89,7 @@ %doc CHANGELOG README.md %license LICENSE %{_bindir}/%{name} -%{_mandir}/man1/%{name}.1%{ext_man} +%{_mandir}/man1/%{name}.1%{?ext_man} %files bash-completion %{_datadir}/bash-completion/completions/%{name}-completion.bash ++++++ imgp-2.8.tar.gz -> imgp-2.9.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/imgp-2.8/.circleci/config.yml new/imgp-2.9/.circleci/config.yml --- old/imgp-2.8/.circleci/config.yml 2020-11-30 20:54:14.000000000 +0100 +++ new/imgp-2.9/.circleci/config.yml 2023-09-10 05:42:25.000000000 +0200 @@ -17,53 +17,53 @@ make test jobs: - py36: + py38: docker: - - image: python:3.6-slim + - image: python:3.8-slim <<: *test-template - py37: + py39: docker: - - image: python:3.7-slim + - image: python:3.9-slim <<: *test-template - py38: + py310: docker: - - image: python:3.8-slim + - image: python:3.10-slim <<: *test-template - py39: + py311: docker: - - image: python:3.9-slim + - image: python:3.11-slim <<: *test-template - package-and-publish: - machine: true - working_directory: ~/imgp - steps: - - checkout - - run: - name: "package with packagecore" - command: | - # Use latest installed python3 from pyenv - export PYENV_VERSION="$(pyenv versions | grep -Po '\b3\.\d+\.\d+' | tail -1)" - pip install packagecore - packagecore -o ./dist/ ${CIRCLE_TAG#v} - - run: - name: "publish to GitHub" - command: | - go get github.com/tcnksm/ghr - ghr -t ${GITHUB_API_TOKEN} -u ${CIRCLE_PROJECT_USERNAME} -r ${CIRCLE_PROJECT_REPONAME} -c ${CIRCLE_SHA1} -replace ${CIRCLE_TAG} ./dist/ +# package-and-publish: +# machine: true +# working_directory: ~/imgp +# steps: +# - checkout +# - run: +# name: "package with packagecore" +# command: | +# # Use latest installed python3 from pyenv +# export PYENV_VERSION="$(pyenv versions | grep -Po '\b3\.\d+\.\d+' | tail -1)" +# pip install packagecore +# packagecore -o ./dist/ ${CIRCLE_TAG#v} +# - run: +# name: "publish to GitHub" +# command: | +# go get github.com/tcnksm/ghr +# ghr -t ${GITHUB_API_TOKEN} -u ${CIRCLE_PROJECT_USERNAME} -r ${CIRCLE_PROJECT_REPONAME} -c ${CIRCLE_SHA1} -replace ${CIRCLE_TAG} ./dist/ workflows: version: 2 - test: + CircleCI: jobs: &all-tests - - py36 - - py37 - py38 - py39 + - py310 + - py311 nightly: triggers: @@ -75,11 +75,11 @@ - master jobs: *all-tests - publish-github-release: - jobs: - - package-and-publish: - filters: - tags: - only: /^v.*/ - branches: - ignore: /.*/ +# publish-github-release: +# jobs: +# - package-and-publish: +# filters: +# tags: +# only: /^v.*/ +# branches: +# ignore: /.*/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/imgp-2.8/.github/FUNDING.yml new/imgp-2.9/.github/FUNDING.yml --- old/imgp-2.8/.github/FUNDING.yml 2020-11-30 20:54:14.000000000 +0100 +++ new/imgp-2.9/.github/FUNDING.yml 2023-09-10 05:42:25.000000000 +0200 @@ -1 +1 @@ -custom: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=RMLTQ76JSXJ4Q +github: jarun diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/imgp-2.8/.pylintrc new/imgp-2.9/.pylintrc --- old/imgp-2.8/.pylintrc 2020-11-30 20:54:14.000000000 +0100 +++ new/imgp-2.9/.pylintrc 2023-09-10 05:42:25.000000000 +0200 @@ -2,13 +2,15 @@ disable= broad-except, chained-comparison, + consider-using-f-string, + consider-using-with, global-statement, + global-variable-not-assigned, inconsistent-return-statements, invalid-name, invalid-unary-operand-type, len-as-condition, missing-docstring, - no-self-use, protected-access, too-few-public-methods, too-many-arguments, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/imgp-2.8/CHANGELOG new/imgp-2.9/CHANGELOG --- old/imgp-2.8/CHANGELOG 2020-11-30 20:54:14.000000000 +0100 +++ new/imgp-2.9/CHANGELOG 2023-09-10 05:42:25.000000000 +0200 @@ -1,3 +1,14 @@ +imgp v2.9 +2023-09-10 + +- Support converting P mode PNGs +- Fix AttributeError: module 'PIL.Image' has no attribute 'Resampling' +- Fix ANTIALIAS is deprecated and will be removed in Pillow 10 +- Add Python 3.11 support +- Remove support for Python 3.7 (EOL) + +------------------------------------------------------------------------------- + imgp v2.8 2020-12-01 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/imgp-2.8/README.md new/imgp-2.9/README.md --- old/imgp-2.8/README.md 2020-11-30 20:54:14.000000000 +0100 +++ new/imgp-2.9/README.md 2023-09-10 05:42:25.000000000 +0200 @@ -20,12 +20,6 @@ `imgp` intends to be a stronger replacement of the Nautilus Image Converter extension, not tied to any file manager and way faster. On desktop environments (like Xfce or LxQt) which do not integrate Nautilus, `imgp` will save your day. File manager [nnn](https://github.com/jarun/nnn) provides a script to batch resize images with `imgp`. -*Love smart and efficient utilities? Explore [my repositories](https://github.com/jarun?tab=repositories). Buy me a cup of coffee if they help you.* - -<p align="center"> -<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=RMLTQ76JSXJ4Q"><img src="https://img.shields.io/badge/[email protected]" alt="Donate via PayPal!" /></a> -</p> - ### Table of Contents - [Features](#features) @@ -81,7 +75,7 @@ #### Dependencies -`imgp` requires Python 3.6 or later. +`imgp` requires Python 3.8 or later. To install PIL library on Ubuntu, run: @@ -240,7 +234,7 @@ $ imgp -wrackx 1366x1000 -s 51200 -7. Generate thumbnail of the last modified file in the current dir: +7. Generate a 64px adapative thumbnail of the last modified file in the current dir: #!/usr/bin/env sh @@ -252,5 +246,5 @@ ### Developers -1. Copyright © 2016-2020 [Arun Prakash Jana](https://github.com/jarun) +1. Copyright © 2016-2023 [Arun Prakash Jana](https://github.com/jarun) 2. [Ananya Jana](https://github.com/ananyajana) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/imgp-2.8/imgp new/imgp-2.9/imgp --- old/imgp-2.8/imgp 2020-11-30 20:54:14.000000000 +0100 +++ new/imgp-2.9/imgp 2023-09-10 05:42:25.000000000 +0200 @@ -2,7 +2,7 @@ # # Resize or rotate JPEG and PNG images. # -# Copyright © 2016-2020 Arun Prakash Jana <[email protected]> +# Copyright © 2016-2023 Arun Prakash Jana <[email protected]> # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -26,6 +26,9 @@ import PIL from PIL import Image, ImageFile +if not hasattr(PIL.Image, 'Resampling'): # Pillow<9.0 + PIL.Image.Resampling = PIL.Image + # Globals HRES = 0 # specified horizontal resolution VRES = 0 # specified vertical resolution @@ -51,10 +54,10 @@ debug = False # enable debug information no_res_opt = False # --res is not specified pad = '_IMGP' # output file suffix when --overwrite is unused -png_ip = PIL.Image.ANTIALIAS # default interpolation for PNG +png_ip = Image.Resampling.LANCZOS # default interpolation for PNG fill_color = '#ffffff' # BG color to strip alpha channel init_time = time.time() # profile the total time taken -_VERSION_ = '2.8' # current program version +_VERSION_ = '2.9' # current program version # Globals for multiprocessing pool = None @@ -74,7 +77,7 @@ return (0, 0) try: - return(int(hxv[0]), int(hxv[1])) + return (int(hxv[0]), int(hxv[1])) except Exception: return (0, 0) @@ -144,11 +147,6 @@ lock_print(src + ': not JPEG/PNG/MPO. format: ' + _format) return - if convert and _format == 'PNG' and img.mode == 'P': - if debug: - lock_print('rotate_image: cannot convert PNG files in palette mode') - return - try: if _format == 'JPEG' and not _progressive and img.info['progressive']: if debug: @@ -187,6 +185,8 @@ background = Image.new(img.mode[:-1], img.size, fill_color) background.paste(img, img.split()[-1]) img = background + elif img.mode == "P": + img.convert("RGBA") dest = name + suffix + '.jpg' _format = 'JPEG' converted = True @@ -228,11 +228,6 @@ lock_print(src + ': not JPEG/PNG/MPO. format: ' + _format) return - if convert and _format == 'PNG' and img.mode == 'P': - if debug: - lock_print('resize_image: cannot convert PNG files in palette mode') - return - # check if convert or progressive is specified without any resolution option if no_res_opt: if convert and _format != 'PNG': @@ -270,7 +265,7 @@ vres = img.size[1] ImageFile.MAXBLOCK = hres * vres - antialias = png_ip if _format == 'PNG' else PIL.Image.ANTIALIAS + antialias = png_ip if _format == 'PNG' else Image.Resampling.LANCZOS if hres < minH or vres < minV: if debug: @@ -431,6 +426,8 @@ background = Image.new(img.mode[:-1], img.size, fill_color) background.paste(img, img.split()[-1]) img = background + elif img.mode == "P": + img = img.convert("RGBA") dest = name + suffix + '.jpg' _format = 'JPEG' converted = True @@ -463,7 +460,7 @@ file.write(''' Version %s -Copyright © 2016-2020 Arun Prakash Jana <[email protected]> +Copyright © 2016-2023 Arun Prakash Jana <[email protected]> License: GPLv3 Webpage: https://github.com/jarun/imgp ''' % _VERSION_) @@ -637,7 +634,7 @@ overwrite = args.overwrite debug = args.debug if args.nearest: - png_ip = PIL.Image.NEAREST + png_ip = PIL.Image.Resampling.NEAREST pool = Pool() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/imgp-2.8/imgp.1 new/imgp-2.9/imgp.1 --- old/imgp-2.8/imgp.1 2020-11-30 20:54:14.000000000 +0100 +++ new/imgp-2.9/imgp.1 2023-09-10 05:42:25.000000000 +0200 @@ -1,4 +1,4 @@ -.TH "IMGP" "1" "01 Dec 2020" "Version 2.8" "User Commands" +.TH "IMGP" "1" "10 Sep 2023" "Version 2.9" "User Commands" .SH NAME imgp \- Resize, rotate JPEG and PNG images. .SH SYNOPSIS @@ -195,7 +195,7 @@ .EE .PP .IP 7. 4 -Generate thumbnail of the last modified file in the current dir: +Generate a 64px adaptive thumbnail of the last modified file in the current dir: .PP .EX .IP @@ -214,7 +214,7 @@ .SH REPORTING BUGS .I https://github.com/jarun/imgp/issues .SH LICENSE -Copyright \(co 2016-2020 Arun Prakash Jana <[email protected]> +Copyright \(co 2016-2023 Arun Prakash Jana <[email protected]> .PP License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. .br diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/imgp-2.8/setup.py new/imgp-2.9/setup.py --- old/imgp-2.8/setup.py 2020-11-30 20:54:14.000000000 +0100 +++ new/imgp-2.9/setup.py 2023-09-10 05:42:25.000000000 +0200 @@ -1,6 +1,7 @@ #!/usr/bin/env python3 import re +import os.path import shutil import sys @@ -13,7 +14,8 @@ except DistributionNotFound: return None -shutil.copyfile('imgp', 'imgp.py') +if os.path.isfile('imgp'): + shutil.copyfile('imgp', 'imgp.py') with open('imgp.py', encoding='utf-8') as f: version = re.search('_VERSION_ = \'([^\']+)\'', f.read()).group(1) @@ -34,7 +36,7 @@ url='https://github.com/jarun/imgp', license='GPLv3', license_file='LICENSE', - python_requires='>=3.6', # requires pip>=9.0.0 + python_requires='>=3.8', # requires pip>=9.0.0 platforms=['any'], py_modules=['imgp'], install_requires=requirements, @@ -56,10 +58,10 @@ 'Operating System :: OS Independent', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3 :: Only', - '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 :: 3.11', 'Topic :: Utilities' ] )
