git: 97475545b13a - main - irc/py-limnoria: Update version 2019.09.08=>2021.11.18
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 10 Mar 2023 19:07:53 UTC
The branch main has been updated by bofh: URL: https://cgit.FreeBSD.org/ports/commit/?id=97475545b13a85402ac0c90a349a6cc3c4c4d247 commit 97475545b13a85402ac0c90a349a6cc3c4c4d247 Author: Simeon Simeonov <sgs@pichove.org> AuthorDate: 2023-03-10 19:05:26 +0000 Commit: Muhammad Moinur Rahman <bofh@FreeBSD.org> CommitDate: 2023-03-10 19:07:46 +0000 irc/py-limnoria: Update version 2019.09.08=>2021.11.18 Changelog: https://github.com/progval/Limnoria/releases/tag/master-2021-11-18 PR: 260166 --- irc/py-limnoria/Makefile | 31 ++-- irc/py-limnoria/distinfo | 6 +- irc/py-limnoria/files/patch-plugins_Web_plugin.py | 179 ---------------------- 3 files changed, 15 insertions(+), 201 deletions(-) diff --git a/irc/py-limnoria/Makefile b/irc/py-limnoria/Makefile index ee4be7f9b27d..211d4a01c6c7 100644 --- a/irc/py-limnoria/Makefile +++ b/irc/py-limnoria/Makefile @@ -1,5 +1,5 @@ PORTNAME= limnoria -PORTVERSION= 2019.09.08 +PORTVERSION= 2021.11.18 CATEGORIES= irc python PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} @@ -16,14 +16,15 @@ TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}feedparser>=0:textproc/py-feedparser@${PY_F ${PYTHON_PKGNAMEPREFIX}pytz>=0:devel/py-pytz@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}mock>=0:devel/py-mock@${PY_FLAVOR} -USES= cpe python:3.6-3.9 +USES= cpe python:3.6+ CPE_VENDOR= ${PORTNAME}_project USE_GITHUB= yes -USE_PYTHON= autoplist concurrent distutils - GH_ACCOUNT= ProgVal GH_PROJECT= Limnoria -GH_TAGNAME= master-2019-09-08 +GH_TAGNAME= master-2021-11-18 +USE_PYTHON= autoplist concurrent distutils + +NO_ARCH= yes OPTIONS_DEFINE= ECDSA PROXY OPTIONS_DEFAULT= ECDSA ENCODING RSS TIME @@ -34,35 +35,27 @@ OPTIONS_GROUP_EXTRAS= ENCODING GPG RSS TIME OPTIONS_RADIO= AKA OPTIONS_RADIO_AKA= SQLITE SQLALCHEMY -EXTRAS_DESC= Plugin Extras AKA_DESC= AKA Plugin: SQL Backend (none = plugin disabled) - ECDSA_DESC= ECDSA SASL authentication -PROXY_DESC= SOCKS Proxy connections - ENCODING_DESC= Web Plugin: Better encoding detection (via chardet) +EXTRAS_DESC= Plugin Extras GPG_DESC= GPG Plugin: GnuPG Authentication +PROXY_DESC= SOCKS Proxy connections RSS_DESC= RSS Plugin: Feed parsing (via feedparser) -TIME_DESC= Time Plugin: Extra time features (via dateutil/pytz) - SQLALCHEMY_DESC= SQLAlchemy database support +TIME_DESC= Time Plugin: Extra time features (via dateutil/pytz) ECDSA_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}ecdsa>0:security/py-ecdsa@${PY_FLAVOR} -PROXY_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pysocks>=0:net/py-pysocks@${PY_FLAVOR} - ENCODING_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}chardet>=0:textproc/py-chardet@${PY_FLAVOR} GPG_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}python-gnupg>=0:security/py-python-gnupg@${PY_FLAVOR} +PROXY_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pysocks>=0:net/py-pysocks@${PY_FLAVOR} RSS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}feedparser>=0:textproc/py-feedparser@${PY_FLAVOR} +SQLALCHEMY_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlalchemy10>0:databases/py-sqlalchemy10@${PY_FLAVOR} +SQLITE_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} TIME_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dateutil>=0:devel/py-dateutil@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pytz>=0:devel/py-pytz@${PY_FLAVOR} -SQLITE_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} -SQLALCHEMY_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlalchemy10>0:databases/py-sqlalchemy10@${PY_FLAVOR} - -NO_ARCH= yes - # Needs to be installed first to work. - do-test: @cd ${WRKSRC} && ${PYTHON_CMD} ${LOCALBASE}/bin/supybot-test \ --no-network \ diff --git a/irc/py-limnoria/distinfo b/irc/py-limnoria/distinfo index ea8209f19522..c5e19787110e 100644 --- a/irc/py-limnoria/distinfo +++ b/irc/py-limnoria/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1569902980 -SHA256 (ProgVal-Limnoria-2019.09.08-master-2019-09-08_GH0.tar.gz) = e7b8dec6befa6381d6f1ce75c240e132a0c020bbef15bb0e7b943a01d6790875 -SIZE (ProgVal-Limnoria-2019.09.08-master-2019-09-08_GH0.tar.gz) = 966922 +TIMESTAMP = 1678474534 +SHA256 (ProgVal-Limnoria-2021.11.18-master-2021-11-18_GH0.tar.gz) = f7f1dbf35aaf7937cd46d040d066440cd52651c3970980fe15338995bf393950 +SIZE (ProgVal-Limnoria-2021.11.18-master-2021-11-18_GH0.tar.gz) = 1094394 diff --git a/irc/py-limnoria/files/patch-plugins_Web_plugin.py b/irc/py-limnoria/files/patch-plugins_Web_plugin.py deleted file mode 100644 index ec9f5a736f18..000000000000 --- a/irc/py-limnoria/files/patch-plugins_Web_plugin.py +++ /dev/null @@ -1,179 +0,0 @@ -# https://github.com/ProgVal/Limnoria/pull/1371 -# https://github.com/ProgVal/Limnoria/issues/1362 -# https://github.com/ProgVal/Limnoria/issues/1359 - -From 7cf91ad703ab324e38c37fa2976626505f1d569a Mon Sep 17 00:00:00 2001 -From: Rodrigo <rodrigo.freebsd@minasambiente.com.br> -Date: Fri, 27 Sep 2019 01:48:36 -0300 -Subject: [PATCH 1/3] make clear in logs about charade dep|make behave the same - way in py3 or py2 without errors in any case (e.g. without charade installed) - ---- - plugins/Web/plugin.py | 44 +++++++++++++++++-------------------------- - 1 file changed, 17 insertions(+), 27 deletions(-) - -diff --git plugins/Web/plugin.py plugins/Web/plugin.py -index 1ac362714..0bdb68a4a 100644 ---- plugins/Web/plugin.py -+++ plugins/Web/plugin.py -@@ -150,37 +150,27 @@ def getTitle(self, irc, url, raiseErrors): - size = conf.supybot.protocols.http.peekSize() - timeout = self.registryValue('timeout') - (target, text) = utils.web.getUrlTargetAndContent(url, size=size, -- timeout=timeout) -- try: -- text = text.decode(utils.web.getEncoding(text) or 'utf8', -- 'replace') -- except UnicodeDecodeError: -- pass -- if minisix.PY3 and isinstance(text, bytes): -- if raiseErrors: -- irc.error(_('Could not guess the page\'s encoding. (Try ' -- 'installing python-charade.)'), Raise=True) -- else: -- return None -+ timeout=timeout) -+ encoding = utils.web.getEncoding(text) -+ if encoding is None: # Condition if charade not installed -+ self.log.info('Web plugin TitleSnarfer: Could not guess the page\'s' -+ ' encoding. (Try installing python-charade.)') -+ encoding = 'utf-8' # Assume UTF-8 and replace unknown chars to the UTF-8 codec for U+FFFD in the next hop - try: -+ text = text.decode(utils.web.getEncoding(text) or 'utf-8', 'replace') - parser = Title() - parser.feed(text) -- except UnicodeDecodeError: -- # Workaround for Python 2 -- # https://github.com/ProgVal/Limnoria/issues/1359 -- parser = Title() -- parser.feed(text.encode('utf8')) -- parser.close() -- title = utils.str.normalizeWhitespace(''.join(parser.data).strip()) -- if title: -- return (target, title) -- elif raiseErrors: -- if len(text) < size: -- irc.error(_('That URL appears to have no HTML title.'), -- Raise=True) -+ parser.close() -+ title = utils.str.normalizeWhitespace(''.join(parser.data).strip()) -+ if title: -+ return (target, title) - else: -- irc.error(format(_('That URL appears to have no HTML title ' -- 'within the first %S.'), size), Raise=True) -+ if len(text) < size: -+ self.log.info('Web plugin TitleSnarfer: ' -+ 'That URL appears to have no HTML title.') -+ except raiseErrors: # Can use raiseErrors here ? -+ irc.error(_('Web plugin TitleSnarfer encoding errors'), -+ Raise=True) - - @fetch_sandbox - def titleSnarfer(self, irc, msg, match): - -From 16247c5caf59f307b3d6910e31832fe30d0d583a Mon Sep 17 00:00:00 2001 -From: Rodrigo <rodrigo.freebsd@minasambiente.com.br> -Date: Fri, 27 Sep 2019 20:12:00 -0300 -Subject: [PATCH 2/3] more python2 compatibility - ---- - plugins/Web/plugin.py | 18 +++++++++++------- - 1 file changed, 11 insertions(+), 7 deletions(-) - -diff --git plugins/Web/plugin.py plugins/Web/plugin.py -index 0bdb68a4a..85c129de3 100644 ---- plugins/Web/plugin.py -+++ plugins/Web/plugin.py -@@ -150,16 +150,20 @@ def getTitle(self, irc, url, raiseErrors): - size = conf.supybot.protocols.http.peekSize() - timeout = self.registryValue('timeout') - (target, text) = utils.web.getUrlTargetAndContent(url, size=size, -- timeout=timeout) -+ timeout=timeout) - encoding = utils.web.getEncoding(text) -- if encoding is None: # Condition if charade not installed -+ if encoding is None: # Condition if charade not installed - self.log.info('Web plugin TitleSnarfer: Could not guess the page\'s' - ' encoding. (Try installing python-charade.)') -- encoding = 'utf-8' # Assume UTF-8 and replace unknown chars to the UTF-8 codec for U+FFFD in the next hop -+ encoding = 'utf-8' # Assume UTF-8 and replace unknown chars to the UTF-8 codec for U+FFFD in the next hop - try: -- text = text.decode(utils.web.getEncoding(text) or 'utf-8', 'replace') -+ text = text.decode(utils.web.getEncoding(text) or 'utf-8','replace') - parser = Title() -- parser.feed(text) -+ try: -+ parser.feed(text) -+ except: -+ parser = Title() -+ parser.feed(bytes(text)) # Explicitly pack to bytes in encoding errors for (more) python2 compatibility - parser.close() - title = utils.str.normalizeWhitespace(''.join(parser.data).strip()) - if title: -@@ -168,9 +172,9 @@ def getTitle(self, irc, url, raiseErrors): - if len(text) < size: - self.log.info('Web plugin TitleSnarfer: ' - 'That URL appears to have no HTML title.') -- except raiseErrors: # Can use raiseErrors here ? -+ except: - irc.error(_('Web plugin TitleSnarfer encoding errors'), -- Raise=True) -+ Raise=True) - - @fetch_sandbox - def titleSnarfer(self, irc, msg, match): - -From 5cac4a3cbda26186a330709901da2633914de415 Mon Sep 17 00:00:00 2001 -From: Rodrigo <rodrigo.freebsd@minasambiente.com.br> -Date: Sat, 28 Sep 2019 23:40:44 -0300 -Subject: [PATCH 3/3] Include '(target, text) = - utils.web.getUrlTargetAndContent(url, size=size,timeout=timeout)' in - try/catch block to avoid thread blocking | send http errors to log - ---- - plugins/Web/plugin.py | 23 +++++++++++------------ - 1 file changed, 11 insertions(+), 12 deletions(-) - -diff --git plugins/Web/plugin.py plugins/Web/plugin.py -index 85c129de3..e67944f29 100644 ---- plugins/Web/plugin.py -+++ plugins/Web/plugin.py -@@ -149,14 +149,13 @@ def noIgnore(self, irc, msg): - def getTitle(self, irc, url, raiseErrors): - size = conf.supybot.protocols.http.peekSize() - timeout = self.registryValue('timeout') -- (target, text) = utils.web.getUrlTargetAndContent(url, size=size, -- timeout=timeout) -- encoding = utils.web.getEncoding(text) -- if encoding is None: # Condition if charade not installed -- self.log.info('Web plugin TitleSnarfer: Could not guess the page\'s' -- ' encoding. (Try installing python-charade.)') -- encoding = 'utf-8' # Assume UTF-8 and replace unknown chars to the UTF-8 codec for U+FFFD in the next hop - try: -+ (target, text) = utils.web.getUrlTargetAndContent(url, size=size,timeout=timeout) -+ encoding = utils.web.getEncoding(text) -+ if encoding is None: # Condition if charade not installed -+ self.log.info('Web plugin TitleSnarfer: Could not guess the page\'s' -+ ' encoding. (Try installing python-charade.)') -+ encoding = 'utf-8' # Assume UTF-8 and replace unknown chars to the UTF-8 codec for U+FFFD in the next hop - text = text.decode(utils.web.getEncoding(text) or 'utf-8','replace') - parser = Title() - try: -@@ -170,11 +169,11 @@ def getTitle(self, irc, url, raiseErrors): - return (target, title) - else: - if len(text) < size: -- self.log.info('Web plugin TitleSnarfer: ' -- 'That URL appears to have no HTML title.') -- except: -- irc.error(_('Web plugin TitleSnarfer encoding errors'), -- Raise=True) -+ self.log.info('Web plugin TitleSnarfer: <' + url + '> appears to have no HTML title.') -+ else: -+ self.log.info('Web plugin TitleSnarfer: Could not retrieve title of <' + url + '>') -+ except Exception as e: -+ self.log.info('Web plugin TitleSnarfer: <' + str(e) + '> while trying to process <' + url +'>') - - @fetch_sandbox - def titleSnarfer(self, irc, msg, match):