From 1ee66e1709b5281c53fa24cc6b7c448918b0bc05 Mon Sep 17 00:00:00 2001 From: imil Date: Tue, 8 Apr 2014 16:40:35 +0000 Subject: [PATCH] Updated irclib to version 8.5.4 8.5.4 Issue #32: Add logging around large DCC messages to facilitate troubleshooting. Issue #31: Fix error in connection wrapper for SSL example. 8.5.3 Issue #28: Fix TypeError in version calculation in irc.bot CTCP version. 8.5.2 Updated DCC send and receive scripts (Issue #27). 8.5.1 Fix timestamp support in schedule.DelayedCommand construction. 8.5 irc.client.NickMask is now a Unicode object on Python 2. Fixes issue reported in pull request #19. Issue #24: Added DCCConnection.send_bytes for transmitting binary data. privmsg remains to support transmitting text. 8.4 Code base now runs natively on Python 2 and Python 3, but requires six to be installed. Issue #25: Rate-limiting has been updated to be finer grained (preventing bursts exceeding the limit following idle periods). 8.3.2 Issue #22: Catch error in bot.py on NAMREPLY when nick is not in any visible channel. 8.3.1 Fixed encoding errors in server on Python 3. 8.3 Added a set_keepalive method to the ServerConnection. Sends a periodic PING message every indicated interval. 8.2 Added support for throttling send_raw messages via the ServerConnection object. For example, on any connection object: connection.set_rate_limit(30) That would set the rate limit to 30 Hz (30 per second). Thanks to Jason Kendall for the suggestion and bug fixes. 8.1.2 Fix typo in client.NickMask. 8.1.1 Fix typo in bot.py. 8.1 Issue #15: Added client support for ISUPPORT directives on server connections. Now, each ServerConnection has a features attribute which reflects the features supported by the server. See the docs for irc.features for details about the implementation. 8.0.1 Issue #14: Fix errors when handlers of the same priority are added under Python 3. This also fixes the unintended behavior of allowing handlers of the same priority to compare as unequal. 8.0 This release brings several backward-incompatible changes to the scheduled commands. Refactored implementation of schedule classes. No longer do they override the datetime constructor, but now only provide suitable classmethods for construction in various forms. Removed backward-compatible references from irc.client. Remove 'arguments' parameter from scheduled commands. Clients that reference the schedule classes from irc.client or that construct them from the basic constructor will need to update to use the new class methods: - DelayedCommand -> DelayedCommand.after - PeriodicCommand -> PeriodicCommand.after Arguments may no longer be passed to the 'function' callback, but one is encouraged instead to use functools.partial to attach parameters to the callback. For example: DelayedCommand.after(3, func, ('a', 10)) becomes: func = functools.partial(func, 'a', 10) DelayedCommand.after(3, func) This mode puts less constraints on the both the handler and the caller. For example, a caller can now pass keyword arguments instead: func = functools.partial(func, name='a', quantity=10) DelayedCommand.after(3, func) Readability, maintainability, and usability go up. 7.1.2 Issue #13: TypeError on Python 3 when constructing PeriodicCommand (and thus execute_every). 7.1.1 Fixed regression created in 7.0 where PeriodicCommandFixedDelay would only cause the first command to be scheduled, but not subsequent ones. 7.1 Moved scheduled command classes to irc.schedule module. Kept references for backwards-compatibility. 7.0 PeriodicCommand now raises a ValueError if it's created with a negative or zero delay (meaning all subsequent commands are immediately due). This fixes #12. Renamed the parameters to the IRC object. If you use a custom event loop and your code constructs the IRC object with keyword parameters, you will need to update your code to use the new names, so: IRC(fn_to_add_socket=adder, fn_to_remove_socket=remover, fn_to_add_timeout=timeout) becomes: IRC(on_connect=adder, on_disconnect=remover, on_schedule=timeout) If you don't use a custom event loop or you pass the parameters positionally, no change is necessary. 6.0.1 Fixed some unhandled exceptions in server client connections when the client would disconnect in response to messages sent after select was called. 6.0 Moved LineBuffer and DecodingLineBuffer from client to buffer module. Backward-compatible references have been kept for now. Removed daemon mode and log-to-file options for server. Miscellaneous bugfixes in server. 5.1.1 Fix error in 2to3 conversion on irc/server.py (issue #11). 5.1 The IRC library is now licensed under the MIT license. Added irc/server.py, based on hircd by Ferry Boender. Added support for CAP command (pull request #10), thanks to Danneh Oaks. 5.0 Another backward-incompatible change. In irc 5.0, many of the unnecessary getter functions have been removed and replaced with simple attributes. This change addresses issue #2. In particular: Connection._get_socket() -> Connection.socket (including subclasses) Event.eventtype() -> Event.type Event.source() -> Event.source Event.target() -> Event.target Event.arguments() -> Event.arguments The nm_to_* functions were removed. Instead, use the NickMask class attributes. These deprecated function aliases were removed from irc.client: - parse_nick_modes -> modes.parse_nick_modes - parse_channel_modes -> modes.parse_channel_modes - generated_events -> events.generated - protocol_events -> events.protocol - numeric_events -> events.numeric - all_events -> events.all - irc_lower -> strings.lower Also, the parameter name when constructing an event was renamed from eventtype to simply type. 4.0 Removed deprecated arguments to ServerConnection.connect. See notes on the 3.3 release on how to use the connect_factory parameter if your application requires ssl, ipv6, or other connection customization. 3.6.1 Filter out disconnected sockets when processing input. 3.6 Created two new exceptions in irc.client: MessageTooLong and InvalidCharacters. Use explicit exceptions instead of ValueError when sending data. 3.5 SingleServerIRCBot now accepts keyword arguments which are passed through to the ServerConnection.connect method. One can use this to use SSL for connections: factory = irc.connection.Factory(wrapper=ssl.wrap_socket) bot = irc.bot.SingleServerIRCBot(..., connect_factory = factory) --- net/py-irclib/Makefile | 4 ++-- net/py-irclib/PLIST | 24 +++++++++++++++++++++--- net/py-irclib/distinfo | 8 ++++---- 3 files changed, 27 insertions(+), 9 deletions(-) diff --git a/net/py-irclib/Makefile b/net/py-irclib/Makefile index b98f4937653d2..6cd61e7ffeddc 100644 --- a/net/py-irclib/Makefile +++ b/net/py-irclib/Makefile @@ -1,7 +1,7 @@ -# $NetBSD: Makefile,v 1.3 2012/12/22 13:34:49 imil Exp $ +# $NetBSD: Makefile,v 1.4 2014/04/08 16:40:35 imil Exp $ # -IRCVERS= 3.4.2 +IRCVERS= 8.5.4 DISTNAME= irc-${IRCVERS} PKGNAME= ${PYPKGPREFIX}-irclib-${IRCVERS} CATEGORIES= net python diff --git a/net/py-irclib/PLIST b/net/py-irclib/PLIST index 1b9c2d238330e..795d318d46729 100644 --- a/net/py-irclib/PLIST +++ b/net/py-irclib/PLIST @@ -1,11 +1,11 @@ -@comment $NetBSD: PLIST,v 1.2 2012/12/22 13:34:49 imil Exp $ +@comment $NetBSD: PLIST,v 1.3 2014/04/08 16:40:35 imil Exp $ ${PYSITELIB}/PKG-INFO ${PYSITELIB}/SOURCES.txt ${PYSITELIB}/dependency_links.txt ${PYSITELIB}/${EGG_INFODIR}/PKG-INFO ${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt ${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt -${PLIST.requires}${PYSITELIB}/${EGG_INFODIR}/requires.txt +${PYSITELIB}/${EGG_INFODIR}/requires.txt ${PYSITELIB}/${EGG_INFODIR}/top_level.txt ${PYSITELIB}/irc/__init__.py ${PYSITELIB}/irc/__init__.pyc @@ -13,6 +13,9 @@ ${PYSITELIB}/irc/__init__.pyo ${PYSITELIB}/irc/bot.py ${PYSITELIB}/irc/bot.pyc ${PYSITELIB}/irc/bot.pyo +${PYSITELIB}/irc/buffer.py +${PYSITELIB}/irc/buffer.pyc +${PYSITELIB}/irc/buffer.pyo ${PYSITELIB}/irc/client.py ${PYSITELIB}/irc/client.pyc ${PYSITELIB}/irc/client.pyo @@ -25,15 +28,27 @@ ${PYSITELIB}/irc/dict.pyo ${PYSITELIB}/irc/events.py ${PYSITELIB}/irc/events.pyc ${PYSITELIB}/irc/events.pyo +${PYSITELIB}/irc/features.py +${PYSITELIB}/irc/features.pyc +${PYSITELIB}/irc/features.pyo ${PYSITELIB}/irc/functools.py ${PYSITELIB}/irc/functools.pyc ${PYSITELIB}/irc/functools.pyo +${PYSITELIB}/irc/logging.py +${PYSITELIB}/irc/logging.pyc +${PYSITELIB}/irc/logging.pyo ${PYSITELIB}/irc/modes.py ${PYSITELIB}/irc/modes.pyc ${PYSITELIB}/irc/modes.pyo ${PYSITELIB}/irc/rfc.py ${PYSITELIB}/irc/rfc.pyc ${PYSITELIB}/irc/rfc.pyo +${PYSITELIB}/irc/schedule.py +${PYSITELIB}/irc/schedule.pyc +${PYSITELIB}/irc/schedule.pyo +${PYSITELIB}/irc/server.py +${PYSITELIB}/irc/server.pyc +${PYSITELIB}/irc/server.pyo ${PYSITELIB}/irc/strings.py ${PYSITELIB}/irc/strings.pyc ${PYSITELIB}/irc/strings.pyo @@ -46,8 +61,11 @@ ${PYSITELIB}/irc/tests/test_bot.pyo ${PYSITELIB}/irc/tests/test_client.py ${PYSITELIB}/irc/tests/test_client.pyc ${PYSITELIB}/irc/tests/test_client.pyo +${PYSITELIB}/irc/tests/test_schedule.py +${PYSITELIB}/irc/tests/test_schedule.pyc +${PYSITELIB}/irc/tests/test_schedule.pyo ${PYSITELIB}/irc/util.py ${PYSITELIB}/irc/util.pyc ${PYSITELIB}/irc/util.pyo -${PLIST.requires}${PYSITELIB}/requires.txt +${PYSITELIB}/requires.txt ${PYSITELIB}/top_level.txt diff --git a/net/py-irclib/distinfo b/net/py-irclib/distinfo index a773cd32ed2a0..9c6dbc9d2b16b 100644 --- a/net/py-irclib/distinfo +++ b/net/py-irclib/distinfo @@ -1,5 +1,5 @@ -$NetBSD: distinfo,v 1.2 2012/12/22 13:34:49 imil Exp $ +$NetBSD: distinfo,v 1.3 2014/04/08 16:40:35 imil Exp $ -SHA1 (irc-3.4.2.zip) = fa8098eb26e46e7296ec3cc114ebb68d6755d071 -RMD160 (irc-3.4.2.zip) = 84155ee9438685733026a54fb6a08e87144f552f -Size (irc-3.4.2.zip) = 87053 bytes +SHA1 (irc-8.5.4.zip) = 918a24de2f6c46b70a900a64f952b1bc3bbbddc9 +RMD160 (irc-8.5.4.zip) = 50b8a9e1e02543b737b9e91e7790c9ff9144b7f1 +Size (irc-8.5.4.zip) = 113715 bytes