commit 0f309fde9846035f9a27eae01a2a049ece9ba1090f9cedd1294df38cce836517 Author: Dirk Mueller Date: Tue Aug 28 08:22:17 2018 +0000 Accepting request 631131 from home:dheidler - Update to version 16.4 OBS-URL: https://build.opensuse.org/request/show/631131 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-irc?expand=0&rev=1 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/irc-16.4.tar.gz b/irc-16.4.tar.gz new file mode 100644 index 0000000..1ddf639 --- /dev/null +++ b/irc-16.4.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c161f8108246a60f1ea1f48fbbfeaba64d5c4ef9fe4d0663279c148d95804e50 +size 86909 diff --git a/python-irc.changes b/python-irc.changes new file mode 100644 index 0000000..6da0e3b --- /dev/null +++ b/python-irc.changes @@ -0,0 +1,261 @@ +------------------------------------------------------------------- +Thu Aug 23 08:48:15 UTC 2018 - dheidler@suse.de + +- Update to version 16.4 + +------------------------------------------------------------------- +Fri Jul 14 19:42:26 UTC 2017 - aloisio@gmx.com + +- Update to version 16.0 + * Removed deprecated ``execute_*`` methods on ``Connection`` + and ``Reactor`` as introduced in 15.0. + * Fixed link in README. + 15.1.1: + * New ``send_items`` method takes star args for simplicity + in the syntax and usage. + 15.1: + * Introduce ``ServerConnection.send_items``, consolidating + common behavior across many methods previously calling + ``send_raw``. + 15.0.6: + * Now publish `documentation + `_ to Read The Docs. + 15.0.5: + * #119: Handle broken pipe exception in IRCClient _send() + (server.py). + 15.0.4: + * #116: Correct invocation of execute_every. + 15.0.3: + * #115: Fix AttributeError in ``execute_at`` in scheduling + support. + 15.0.2: + * #113: Use preferred scheduler in the bot implementation. + 15.0.1: + * Deprecated calls to Connection.execute_* and + Reactor.execute_*. Instead, call the equivalently-named + methods on the reactor's scheduler. + 15.0: + * The event scheduling functionality has been decoupled + from the client.Reactor object. Now the reactor will + construct a Scheduler from the scheduler_class property, + which must be an instance of irc.schedule.IScheduler. + The ``_on_schedule`` parameter is no longer accepted + to the Reactor class. Implementations requiring a + signal during scheduling should hook into the ``add`` + method of the relevant scheduler class. + * Moved the underlying scheduler implementation to + `tempora `_, allowing + it to be re-used for other purposes. + +- Added -doc subpackage + +- Converted to single-spec + +------------------------------------------------------------------- +Sat Jul 30 18:24:12 UTC 2016 - sor.alexei@meowr.ru + +- Update to version 14.2.2 (changes since 8.5.4): + * Drop support for Python 2.6. + * Drop support for Python 3.2. + * Introduce ‘Manifold’ as an alias for irc.client.IRC. This + better name will replace the IRC name in a future version. + * Introduce the ‘manifold’ property of SimpleIRCClient as an + alias for ircobj. + * Add ‘manifold_class’ property to the client.SimpleIRCClient to + allow consumers to provide a customised Manifold. + * Introduce buffer.LenientDecodingLineBuffer for handling input + in a more lenient way, preferring UTF-8 but falling back to + latin-1 if the content cannot be decoded as UTF-8. To enable it + by default for your application, set it as the default decoder. + * Remove the mutex during process_once. + * Deprecated buffer.LineBuffer for Python 3. + * The whois command now accepts a single string or iterable for + the target. + * NickMask now returns None when user, host, or userhost are not + present. Previously, an IndexError was raised. + * Drop irc.client.LineBuffer and irc.client.DecodingBuffer + (available in irc.client.buffer). + * Rename irc.client.IRC to irc.client.Manifold to provide a + clearer name for that object. Clients supporting 8.6 and later + can use the Manifold name. Latest clients must use the Manifold + name. + * Rename irc.client.Connection.irclibobj property to manifold. + The property is still exposed as irclibobj for compatibility + but will be removed in a future version. + * Remove unused irc.client.mask_matches function. + * Remove unused irc.client.nick_characters. + * Add extra numerics for ‘whoisaccount’ and ‘cannotknock’. + * Add ServerConnection.as_nick, a context manager to set a nick + for the duration of the context. + * Rename irc.client.Manifold to irc.client.Reactor. Reactor + better reflects the implementation as a reactor pattern <. This + name makes it’s function much more clear and inline with + standard terminology. + * Remove deprecated manifold and irclibobj properties from + Connection. Use reactor instead. + * Remove deprecated ircobj from SimpleIRCClient. Use reactor + instead. + * Decoding errors now log a warning giving a reference to the + Decoding Input section of the readme. + * Remove dependency on jaraco.util. Instead depend on surgical + packages. + * Deprecate irc.logging in favour of jaraco.logging. + * Remove changelog from package metadata. + * Better handling of Python 3 in testbot.py script. + * Fix broken references to irc.client members. + * Add numeric for WHOX reply. + * Add support for tags in message processing and Event class. + * Fix apparent escaping issue with IRCv3 tags. + * Move Throttler class to jaraco.functools 1.5. + * Update schedule module to properly support timezone aware times + and use them by default. Clients that rely on the timezone + native datetimes may restore the old behaviour by overriding + the schedule.now and schedule.from_timestamp functions. + * Clients that were previously patching + schedule.DelayedCommand.now will need to instead patch the + aforementioned module-global methods. The classmethod technique + was a poor interface for effectively controlling timezone + awareness, so was likely unused. + * ISUPPORT PREFIX now retains the order of permissions for each + prefix. + * Fix infinite recursion for irc.strings.IRCFoldedCase and + irc.strings.lower. + * In irc.bot, add support for tracking admin status (mode ‘a’) in + channels. Use channel.is_admin or channel.admins to identify + admin users for a channel. + * Remove deprecated irc.logging module. + * Now remove mode for owners, halfops, and admins when the user is + removed from a channel. + * Refactor the Channel class implementation for cleaner, less + repetitive code. + * Expand tests coverage for Channel class. + * Dropped deprecated constructor + connection.Factory.from_legacy_params. Use the natural + constructor instead. + * connection.Factory no longer attempts to bind before connect + unless a bind address is specified. + * SingleServerIRCBot now accepts a recon parameter implementing a + ReconnectStrategy. The new default strategy is + ExponentialBackoff, implementing an exponential backoff with + jitter. The reconnection_interval parameter is now deprecated + but retained for compatibility. To customise the minimum time + before reconnect, create a custom ExponentialBackoff instance + or create another ReconnectStrategy object and pass that as the + recon parameter. The reconnection_interval parameter will be + removed in future versions. + * The ExponentialBackoff implementation now protects from + multiple scheduled reconnects, avoiding the issue where + reconnect attempts accumulate exponentially when the bot is + immediately disconnected by the server. + * Move buffer module to jaraco.stream for use in other packages. + * Update docs to remove missing or deprecated modules. + * Declare Gitter support as a badge in the docs. + * Add an ugly hack to force build_sphinx command to have the + requisite libraries to build module documentation. +- Correct licence: MIT. +- Remove python-irclib obsoletion: different non-conflicting + package. +- Cleanup dependencies. + +------------------------------------------------------------------- +Sun Dec 8 21:04:33 UTC 2013 - p.drouand@gmail.com + +- Update to version 8.5.4 + * Issue #32: Add logging around large DCC messages to facilitate + troubleshooting. + * Issue #31: Fix error in connection wrapper for SSL example. +- Add python-py requirement; new dependency to launch tests + +------------------------------------------------------------------- +Thu Oct 24 11:07:06 UTC 2013 - speilicke@suse.com + +- Require python-setuptools instead of distribute (upstreams merged) + +------------------------------------------------------------------- +Mon Oct 21 11:45:41 UTC 2013 - dmueller@suse.com + +- update to 8.5.3: + * Updated DCC send and receive scripts + * Fix TypeError in version calculation in irc.bot CTCP version. + +------------------------------------------------------------------- +Mon Sep 2 12:34:23 UTC 2013 - dmueller@suse.com + +- update to 8.5.1: + * Added support for throttling send_raw messages via the ServerConnection object + * Added a set_keepalive method to the ServerConnection. + * Fixed encoding errors in server on Python 3. + * Catch error in bot.py on NAMREPLY when nick is not in any visible channel. + * Added DCCConnection.send_bytes for transmitting binary data. privmsg + remains to support transmitting text + * irc.client.NickMask is now a Unicode object on Python 2 + * Fix timestamp support in schedule.DelayedCommand construction. + +------------------------------------------------------------------- +Mon Apr 29 07:36:11 UTC 2013 - boris@steki.net + +- add test to capture desired behavior +- remove unused imports +- typo in irc.bot.SingleServerIRCBot +- Added some tests; fixed some failures +- Extracted various feature loaders each as a separate method. +- Move feature support to its own class in the features module +- Add a couple of default PREFIXES for backward compatibility. +- Rename 'isupport' to 'features'. Moved feature loading to its own method. +- Add some standard prefixes +- Adding number ISUPPORT options, so they're autoconverted to numbers +- TARGMAX processing +- Added ISUPPORT functionality +- Add support for owner (+q) and halfop (+h) modes +- Invoke main loop as a for loop rather than a while with a break +- Add Python 3 compatibility +- Use argument parsing to solicit optional port +- Use argparse for argument parsing +- Add and document global variable + + +------------------------------------------------------------------- +Fri Mar 15 09:20:43 UTC 2013 - speilicke@suse.com + +- Require python-importlib only on SP2 + +------------------------------------------------------------------- +Fri Mar 8 10:30:13 UTC 2013 - speilicke@suse.com + +- Add SLE_11_SP2 (build) requirements (argparse, importlib), which are + not part of Python-2.6 +- Run testsuite + +------------------------------------------------------------------- +Sun Mar 3 11:16:34 UTC 2013 - boris@steki.net + +- updated to latest upstream version 8.0.1 + - changes from 5.0.1: + * Issue #13: TypeError on Python 3 when constructing + PeriodicCommand (and thus execute_every). + * Fixed regression created in 7.0 where PeriodicCommandFixedDelay + would only cause the first command to be scheduled, + but not subsequent ones. + * Moved scheduled command classes to irc.schedule module. + Kept references for backwards-compatibility. + * PeriodicCommand now raises a ValueError if + it's created with a negative or zero delay. + * Renamed the parameters to the IRC object. + * Fixed some unhandled exceptions in server client connections + when the client would disconnect in response to messages + sent after select was called. + * 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. + * Fix error in 2to3 conversion on irc/server.py + * 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. + + +------------------------------------------------------------------- +Wed Dec 5 14:05:19 UTC 2012 - boris@steki.net + +- initial packaging of irc version 5.0.1 + diff --git a/python-irc.spec b/python-irc.spec new file mode 100644 index 0000000..6b863c6 --- /dev/null +++ b/python-irc.spec @@ -0,0 +1,109 @@ +# +# spec file for package python-irc +# +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +%define _name irc +%{?!python_module:%define python_module() python-%{**} python3-%{**}} +Name: python-irc +Version: 16.4 +Release: 0 +Summary: IRC (Internet Relay Chat) protocol client library for Python +License: MIT +Group: Development/Languages/Python +Url: https://github.com/jaraco/irc +Source: https://files.pythonhosted.org/packages/source/i/%{_name}/%{_name}-%{version}.tar.gz +BuildRequires: %{python_module jaraco.collections} +BuildRequires: %{python_module jaraco.functools} +BuildRequires: %{python_module jaraco.itertools} +BuildRequires: %{python_module jaraco.logging} +BuildRequires: %{python_module jaraco.stream} +BuildRequires: %{python_module jaraco.text} +BuildRequires: %{python_module pytz} +BuildRequires: %{python_module setuptools_scm} +BuildRequires: %{python_module setuptools} +# SECTION documentation requirements +BuildRequires: dos2unix +BuildRequires: python3-Sphinx +BuildRequires: python3-jaraco.packaging +BuildRequires: python3-rst.linker +# /SECTION +# SECTION test requirements +BuildRequires: %{python_module pytest-runner} +BuildRequires: %{python_module pytest} +BuildRequires: %{python_module pytest-flake8} +BuildRequires: %{python_module tempora} +BuildRequires: python2-backports.functools_lru_cache +BuildRequires: python2-backports.unittest_mock +# /SECTION +BuildRequires: fdupes +BuildRequires: python-rpm-macros +Requires: python-jaraco.collections +Requires: python-jaraco.functools +Requires: python-jaraco.itertools +Requires: python-jaraco.logging +Requires: python-jaraco.stream +Requires: python-jaraco.text +Requires: python-pytz +Requires: python-six +BuildArch: noarch +%python_subpackages + +%description +This library is intended to encapsulate the IRC protocol at a quite +low level. It provides an event-driven IRC client framework. It +has a fairly thorough support for the basic IRC protocol, CTCP and +DCC connections. + +%package -n %{name}-doc +Summary: Documentation for %{name} +Group: Documentation/HTML +Requires: %{name} = %{version} +Provides: %{python_module irc-doc = %{version}} + +%description -n %{name}-doc +This package contains documentation files for %{name}. + +%prep +%setup -q -n %{_name}-%{version} +rm -rf irc.egg-info +dos2unix docs/irc.rst docs/irc.tests.rst + +%build +%python_build +%{_python_use_flavor python3} +%__python3 setup.py build_sphinx && rm build/sphinx/html/.buildinfo + +%install +%python_install +%python_expand %fdupes -s %{buildroot}%{$python_sitelib} + +%check +%{python_expand rm ./build/lib/irc/tests/test_client.py + $python %{_bindir}/py.test build/lib/irc +} + +%files %{python_files} +%defattr(-,root,root) +%{python_sitelib}/* +%doc README.rst +%doc LICENSE + +%files -n %{name}-doc +%defattr(-,root,root,-) +%doc build/sphinx/html + +%changelog