Hello community,
here is the log from the commit of package python-mailmanclient for
openSUSE:Factory checked in at 2020-08-04 20:23:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-mailmanclient (Old)
and /work/SRC/openSUSE:Factory/.python-mailmanclient.new.3592 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-mailmanclient"
Tue Aug 4 20:23:31 2020 rev:4 rq:824275 version:3.3.1
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-mailmanclient/python-mailmanclient.changes
2020-01-24 13:12:41.993470101 +0100
+++
/work/SRC/openSUSE:Factory/.python-mailmanclient.new.3592/python-mailmanclient.changes
2020-08-04 20:23:43.917011694 +0200
@@ -1,0 +2,15 @@
+Tue Aug 4 02:03:44 UTC 2020 - Stasiek Michalski <[email protected]>
+
+- Update to 3.3.1
+ * Held message moderation now supports an optional keyword, reason to
+ specify the reason to reject the message.
+ * Fix a bug where missing display_name attribute with
+ MalingList.subscribe would subscribe the user with a display name of
+ "None".
+ * Add advertised flag to MailingList object.
+ * MailingList.nonmembers now uses roster/nonmembers resource instead of
+ the find/ API for consistency.
+ * Add Client.get_nonmember and MailingList.get_nonmember to get a
+ non-member by address.
+
+-------------------------------------------------------------------
Old:
----
mailmanclient-3.3.0.tar.gz
New:
----
mailmanclient-3.3.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-mailmanclient.spec ++++++
--- /var/tmp/diff_new_pack.0krcyJ/_old 2020-08-04 20:23:46.001011960 +0200
+++ /var/tmp/diff_new_pack.0krcyJ/_new 2020-08-04 20:23:46.005011960 +0200
@@ -19,7 +19,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define skip_python2 1
Name: python-mailmanclient
-Version: 3.3.0
+Version: 3.3.1
Release: 0
Summary: mailmanclient -- Python bindings for Mailman REST API
License: LGPL-3.0-only
++++++ mailmanclient-3.3.0.tar.gz -> mailmanclient-3.3.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/mailmanclient-3.3.0/.gitignore
new/mailmanclient-3.3.1/.gitignore
--- old/mailmanclient-3.3.0/.gitignore 2019-01-04 14:14:13.000000000 +0100
+++ new/mailmanclient-3.3.1/.gitignore 1970-01-01 01:00:00.000000000 +0100
@@ -1,8 +0,0 @@
-build
-dist
-mailman.client.egg-info
-.tox
-__pycache__
-*.egg-info
-*.pyc
-_build/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/mailmanclient-3.3.0/.gitlab-ci.yml
new/mailmanclient-3.3.1/.gitlab-ci.yml
--- old/mailmanclient-3.3.0/.gitlab-ci.yml 2019-05-07 00:08:23.000000000
+0200
+++ new/mailmanclient-3.3.1/.gitlab-ci.yml 1970-01-01 01:00:00.000000000
+0100
@@ -1,44 +0,0 @@
-image: maxking/mailman-ci-runner
-
-variables:
- LC_ALL: C.UTF-8
- LANG: C.UTF-8
-
-python3.5:
- script:
- - tox -e py35
- except:
- variables:
- - $CORE_COMMIT_SHA
-
-python3.6:
- script:
- - tox -e py36
- except:
- variables:
- - $CORE_COMMIT_SHA
-
-python3.7:
- script:
- - tox -e py37
- except:
- variables:
- - $CORE_COMMIT_SHA
-
-lint:
- script:
- - tox -e lint
- except:
- variables:
- - $CORE_COMMIT_SHA
-
-docs:
- script:
- - tox -e docs
- except:
- variables:
- - $CORE_COMMIT_SHA
-
-upstream:
- script:
- - tox -e py37
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/mailmanclient-3.3.0/PKG-INFO
new/mailmanclient-3.3.1/PKG-INFO
--- old/mailmanclient-3.3.0/PKG-INFO 2019-09-03 18:06:57.000000000 +0200
+++ new/mailmanclient-3.3.1/PKG-INFO 2020-06-02 05:39:22.932331300 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: mailmanclient
-Version: 3.3.0
+Version: 3.3.1
Summary: mailmanclient -- Python bindings for Mailman REST API
Home-page: http://www.list.org/
Maintainer: Barry Warsaw
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/mailmanclient-3.3.0/conftest.py
new/mailmanclient-3.3.1/conftest.py
--- old/mailmanclient-3.3.0/conftest.py 2019-05-07 00:08:23.000000000 +0200
+++ new/mailmanclient-3.3.1/conftest.py 2020-05-10 01:14:40.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2017-2019 by the Free Software Foundation, Inc.
+# Copyright (C) 2017-2020 by the Free Software Foundation, Inc.
#
# This file is part of mailman.client.
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/mailmanclient-3.3.0/mailman_test.cfg
new/mailmanclient-3.3.1/mailman_test.cfg
--- old/mailmanclient-3.3.0/mailman_test.cfg 2019-05-07 00:08:23.000000000
+0200
+++ new/mailmanclient-3.3.1/mailman_test.cfg 2020-03-26 07:38:51.000000000
+0100
@@ -21,3 +21,11 @@
[archiver.prototype]
enable: yes
+
+[logging.master]
+path: /dev/stdout
+level: info
+
+[logging.http]
+path: /dev/stdout
+level: error
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/mailmanclient-3.3.0/setup.py
new/mailmanclient-3.3.1/setup.py
--- old/mailmanclient-3.3.0/setup.py 2019-05-07 00:08:23.000000000 +0200
+++ new/mailmanclient-3.3.1/setup.py 2020-05-10 01:14:40.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2019 by the Free Software Foundation, Inc.
+# Copyright (C) 2010-2020 by the Free Software Foundation, Inc.
#
# This file is part of mailman.client.
#
@@ -55,13 +55,13 @@
extras_require={
'testing': [
'pytest',
- 'pytest-vcr',
'pytest-services',
- 'mailman',
+ 'mailman>=3.3.1',
'falcon==1.4.1',
],
'lint': [
- 'flake8>3.0'
+ 'flake8>3.0',
+ 'flake8-bugbear',
]
},
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/mailmanclient-3.3.0/setup_helpers.py
new/mailmanclient-3.3.1/setup_helpers.py
--- old/mailmanclient-3.3.0/setup_helpers.py 2019-05-07 00:08:23.000000000
+0200
+++ new/mailmanclient-3.3.1/setup_helpers.py 2020-05-10 01:14:40.000000000
+0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2019 by the Free Software Foundation, Inc.
+# Copyright (C) 2009-2020 by the Free Software Foundation, Inc.
#
# This file is part of mailman.client
#
@@ -115,7 +115,7 @@
:rtype: list
"""
doctests = []
- for dirpath, dirnames, filenames in os.walk(start):
+ for dirpath, _, filenames in os.walk(start):
doctests.extend(os.path.join(dirpath, filename)
for filename in filenames
if filename.endswith(extension))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/mailmanclient-3.3.0/src/mailmanclient/__init__.py
new/mailmanclient-3.3.1/src/mailmanclient/__init__.py
--- old/mailmanclient-3.3.0/src/mailmanclient/__init__.py 2019-09-03
17:00:28.000000000 +0200
+++ new/mailmanclient-3.3.1/src/mailmanclient/__init__.py 2020-05-10
01:14:40.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2019 by the Free Software Foundation, Inc.
+# Copyright (C) 2010-2020 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/mailmanclient-3.3.0/src/mailmanclient/_client.py
new/mailmanclient-3.3.1/src/mailmanclient/_client.py
--- old/mailmanclient-3.3.0/src/mailmanclient/_client.py 2019-05-07
00:08:23.000000000 +0200
+++ new/mailmanclient-3.3.1/src/mailmanclient/_client.py 2020-05-10
01:14:40.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2017-2019 by the Free Software Foundation, Inc.
+# Copyright (C) 2017-2020 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/mailmanclient-3.3.0/src/mailmanclient/client.py
new/mailmanclient-3.3.1/src/mailmanclient/client.py
--- old/mailmanclient-3.3.0/src/mailmanclient/client.py 2019-09-03
17:00:28.000000000 +0200
+++ new/mailmanclient-3.3.1/src/mailmanclient/client.py 2020-05-10
01:14:55.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2019 by the Free Software Foundation, Inc.
+# Copyright (C) 2010-2020 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
@@ -218,6 +218,16 @@
"""
return self.get_list(fqdn_listname).get_member(subscriber_address)
+ def get_nonmember(self, fqdn_listname, nonmember_address):
+ """Get the Member object for a given MailingList and Non-member's
Email.
+
+ :param str fqdn_listname: Fully qualified address for the MailingList.
+ :param str subscriber_address: Email Address for the non-member.
+ :returns: A member of a list.
+ :rtype: :class:`Member`
+ """
+ return self.get_list(fqdn_listname).get_nonmember(nonmember_address)
+
def get_member_page(self, count=50, page=1):
"""Return a paginated list of Members.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/mailmanclient-3.3.0/src/mailmanclient/conftest.py
new/mailmanclient-3.3.1/src/mailmanclient/conftest.py
--- old/mailmanclient-3.3.0/src/mailmanclient/conftest.py 2019-05-07
00:08:23.000000000 +0200
+++ new/mailmanclient-3.3.1/src/mailmanclient/conftest.py 2020-05-10
01:14:40.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2017-2019 by the Free Software Foundation, Inc.
+# Copyright (C) 2017-2020 by the Free Software Foundation, Inc.
#
# This file is part of mailman.client.
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/mailmanclient-3.3.0/src/mailmanclient/constants.py
new/mailmanclient-3.3.1/src/mailmanclient/constants.py
--- old/mailmanclient-3.3.0/src/mailmanclient/constants.py 2019-09-03
17:49:46.000000000 +0200
+++ new/mailmanclient-3.3.1/src/mailmanclient/constants.py 2020-06-02
05:37:27.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2019 by the Free Software Foundation, Inc.
+# Copyright (C) 2010-2020 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
@@ -15,7 +15,7 @@
# along with mailmanclient. If not, see <http://www.gnu.org/licenses/>.
-__version__ = '3.3.0'
+__version__ = '3.3.1'
DEFAULT_PAGE_ITEM_COUNT = 50
MISSING = object()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/mailmanclient-3.3.0/src/mailmanclient/docs/NEWS.rst
new/mailmanclient-3.3.1/src/mailmanclient/docs/NEWS.rst
--- old/mailmanclient-3.3.0/src/mailmanclient/docs/NEWS.rst 2019-09-03
17:51:14.000000000 +0200
+++ new/mailmanclient-3.3.1/src/mailmanclient/docs/NEWS.rst 2020-06-02
05:37:27.000000000 +0200
@@ -2,6 +2,21 @@
NEWS for mailmanclient
=======================
+
+3.3.1 (2020-06-01)
+==================
+
+- Held message moderation now supports an optional keyword, ``reason`` to
+ specify the reason to reject the message. (Closes #49)
+- Fix a bug where missing ``display_name`` attribute with
+ ``MalingList.subscribe`` would subscribe the user with a display name of
+ "None". (Fixes #52)
+- Add ``advertised`` flag to ``MailingList`` object. (See !115)
+- ``MailingList.nonmembers`` now uses ``roster/nonmembers`` resource instead of
+ the ``find/`` API for consistency.
+- Add ``Client.get_nonmember`` and ``MailingList.get_nonmember`` to get a
+ non-member by address. (Fixes #47)
+
3.3.0 (2019-09-03)
==================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mailmanclient-3.3.0/src/mailmanclient/docs/conftest.py
new/mailmanclient-3.3.1/src/mailmanclient/docs/conftest.py
--- old/mailmanclient-3.3.0/src/mailmanclient/docs/conftest.py 2019-05-07
00:08:23.000000000 +0200
+++ new/mailmanclient-3.3.1/src/mailmanclient/docs/conftest.py 2020-05-10
01:14:40.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2017-2019 by the Free Software Foundation, Inc.
+# Copyright (C) 2017-2020 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
@@ -15,22 +15,11 @@
# along with mailmanclient. If not, see <http://www.gnu.org/licenses/>.
"""Wrappers for doctests to run with pytest"""
-
-from __future__ import absolute_import, print_function, unicode_literals
-
import pytest
from mailmanclient.testing.documentation import dump
-def pytest_collection_modifyitems(items):
- for item in items:
- item.add_marker(pytest.mark.vcr)
-
-
@pytest.fixture(autouse=True)
def import_stuff(doctest_namespace):
- doctest_namespace['absolute_import'] = absolute_import
- doctest_namespace['print_function'] = print_function
- doctest_namespace['unicode_literals'] = unicode_literals
doctest_namespace['dump'] = dump
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/mailmanclient-3.3.0/src/mailmanclient/docs/using.rst
new/mailmanclient-3.3.1/src/mailmanclient/docs/using.rst
--- old/mailmanclient-3.3.0/src/mailmanclient/docs/using.rst 2019-05-07
00:08:23.000000000 +0200
+++ new/mailmanclient-3.3.1/src/mailmanclient/docs/using.rst 2020-06-02
05:37:27.000000000 +0200
@@ -718,6 +718,7 @@
>>> settings = test_one.settings
>>> for attr in sorted(settings):
... print(attr + ': ' + str(settings[attr]))
+ accept_these_nonmembers: []
acceptable_aliases: []
...
volume: 1
@@ -1256,6 +1257,7 @@
>>> cfg = client.configuration
>>> for key in sorted(cfg):
... print(cfg[key].name)
+ ARC
antispam
archiver.mail_archive
archiver.master
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mailmanclient-3.3.0/src/mailmanclient/restbase/base.py
new/mailmanclient-3.3.1/src/mailmanclient/restbase/base.py
--- old/mailmanclient-3.3.0/src/mailmanclient/restbase/base.py 2019-09-03
17:00:28.000000000 +0200
+++ new/mailmanclient-3.3.1/src/mailmanclient/restbase/base.py 2020-05-10
01:14:40.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2019 by the Free Software Foundation, Inc.
+# Copyright (C) 2010-2020 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mailmanclient-3.3.0/src/mailmanclient/restbase/connection.py
new/mailmanclient-3.3.1/src/mailmanclient/restbase/connection.py
--- old/mailmanclient-3.3.0/src/mailmanclient/restbase/connection.py
2019-09-03 17:00:28.000000000 +0200
+++ new/mailmanclient-3.3.1/src/mailmanclient/restbase/connection.py
2020-05-10 01:14:40.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2019 by the Free Software Foundation, Inc.
+# Copyright (C) 2010-2020 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
@@ -115,5 +115,6 @@
return response, response.json()
except HTTPError:
raise
- except IOError:
- raise MailmanConnectionError('Could not connect to Mailman API')
+ except IOError as e:
+ raise MailmanConnectionError(
+ 'Could not connect to Mailman API: ', repr(e))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mailmanclient-3.3.0/src/mailmanclient/restbase/page.py
new/mailmanclient-3.3.1/src/mailmanclient/restbase/page.py
--- old/mailmanclient-3.3.0/src/mailmanclient/restbase/page.py 2019-05-07
00:08:23.000000000 +0200
+++ new/mailmanclient-3.3.1/src/mailmanclient/restbase/page.py 2020-05-10
01:14:40.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2019 by the Free Software Foundation, Inc.
+# Copyright (C) 2010-2020 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mailmanclient-3.3.0/src/mailmanclient/restobjects/address.py
new/mailmanclient-3.3.1/src/mailmanclient/restobjects/address.py
--- old/mailmanclient-3.3.0/src/mailmanclient/restobjects/address.py
2019-09-03 17:00:28.000000000 +0200
+++ new/mailmanclient-3.3.1/src/mailmanclient/restobjects/address.py
2020-05-10 01:14:40.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2019 by the Free Software Foundation, Inc.
+# Copyright (C) 2010-2020 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mailmanclient-3.3.0/src/mailmanclient/restobjects/archivers.py
new/mailmanclient-3.3.1/src/mailmanclient/restobjects/archivers.py
--- old/mailmanclient-3.3.0/src/mailmanclient/restobjects/archivers.py
2019-05-07 00:08:23.000000000 +0200
+++ new/mailmanclient-3.3.1/src/mailmanclient/restobjects/archivers.py
2020-05-10 01:14:40.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2019 by the Free Software Foundation, Inc.
+# Copyright (C) 2010-2020 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mailmanclient-3.3.0/src/mailmanclient/restobjects/ban.py
new/mailmanclient-3.3.1/src/mailmanclient/restobjects/ban.py
--- old/mailmanclient-3.3.0/src/mailmanclient/restobjects/ban.py
2019-05-07 00:08:23.000000000 +0200
+++ new/mailmanclient-3.3.1/src/mailmanclient/restobjects/ban.py
2020-05-10 01:14:40.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2019 by the Free Software Foundation, Inc.
+# Copyright (C) 2010-2020 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mailmanclient-3.3.0/src/mailmanclient/restobjects/configuration.py
new/mailmanclient-3.3.1/src/mailmanclient/restobjects/configuration.py
--- old/mailmanclient-3.3.0/src/mailmanclient/restobjects/configuration.py
2019-09-03 17:00:28.000000000 +0200
+++ new/mailmanclient-3.3.1/src/mailmanclient/restobjects/configuration.py
2020-05-10 01:14:40.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2019 by the Free Software Foundation, Inc.
+# Copyright (C) 2010-2020 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mailmanclient-3.3.0/src/mailmanclient/restobjects/domain.py
new/mailmanclient-3.3.1/src/mailmanclient/restobjects/domain.py
--- old/mailmanclient-3.3.0/src/mailmanclient/restobjects/domain.py
2019-05-07 00:08:23.000000000 +0200
+++ new/mailmanclient-3.3.1/src/mailmanclient/restobjects/domain.py
2020-05-10 01:14:40.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2019 by the Free Software Foundation, Inc.
+# Copyright (C) 2010-2020 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mailmanclient-3.3.0/src/mailmanclient/restobjects/header_match.py
new/mailmanclient-3.3.1/src/mailmanclient/restobjects/header_match.py
--- old/mailmanclient-3.3.0/src/mailmanclient/restobjects/header_match.py
2019-09-03 17:00:28.000000000 +0200
+++ new/mailmanclient-3.3.1/src/mailmanclient/restobjects/header_match.py
2020-05-10 01:14:40.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2019 by the Free Software Foundation, Inc.
+# Copyright (C) 2010-2020 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mailmanclient-3.3.0/src/mailmanclient/restobjects/held_message.py
new/mailmanclient-3.3.1/src/mailmanclient/restobjects/held_message.py
--- old/mailmanclient-3.3.0/src/mailmanclient/restobjects/held_message.py
2019-09-03 17:00:28.000000000 +0200
+++ new/mailmanclient-3.3.1/src/mailmanclient/restobjects/held_message.py
2020-05-10 01:14:40.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2019 by the Free Software Foundation, Inc.
+# Copyright (C) 2010-2020 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
@@ -31,23 +31,30 @@
return '<HeldMessage {0!r} by {1}>'.format(
self.request_id, self.sender)
- def moderate(self, action):
+ def moderate(self, action, comment=None):
"""Moderate a held message.
:param action: Action to perform on held message.
:type action: String.
"""
+ data = dict(action=action)
+ if comment is not None:
+ data['comment'] = comment
+
response, content = self._connection.call(
- self._url, dict(action=action), 'POST')
+ self._url, data, 'POST')
return response
def discard(self):
"""Shortcut for moderate."""
return self.moderate('discard')
- def reject(self):
- """Shortcut for moderate."""
- return self.moderate('reject')
+ def reject(self, reason=None):
+ """Shortcut for moderate.
+
+ :param reason: An optional reason for rejecting the held message.
+ """
+ return self.moderate('reject', comment=reason)
def defer(self):
"""Shortcut for moderate."""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mailmanclient-3.3.0/src/mailmanclient/restobjects/mailinglist.py
new/mailmanclient-3.3.1/src/mailmanclient/restobjects/mailinglist.py
--- old/mailmanclient-3.3.0/src/mailmanclient/restobjects/mailinglist.py
2019-05-07 00:08:23.000000000 +0200
+++ new/mailmanclient-3.3.1/src/mailmanclient/restobjects/mailinglist.py
2020-06-02 05:37:27.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2019 by the Free Software Foundation, Inc.
+# Copyright (C) 2010-2020 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
@@ -35,9 +35,9 @@
class MailingList(RESTObject):
- _properties = ('display_name', 'fqdn_listname', 'list_id', 'list_name',
- 'mail_host', 'member_count', 'volume', 'self_link',
- 'description')
+ _properties = ('advertised', 'display_name', 'fqdn_listname', 'list_id',
+ 'list_name', 'mail_host', 'member_count', 'volume',
+ 'self_link', 'description')
def __init__(self, connection, url, data=None):
super(MailingList, self).__init__(connection, url, data)
@@ -80,10 +80,8 @@
@property
def nonmembers(self):
- url = 'members/find'
- data = {'role': 'nonmember',
- 'list_id': self.list_id}
- response, content = self._connection.call(url, data)
+ url = 'lists/{0}/roster/nonmember'.format(self.fqdn_listname)
+ response, content = self._connection.call(url)
if 'entries' not in content:
return []
return [Member(self._connection, entry['self_link'], entry)
@@ -191,34 +189,53 @@
self.fqdn_listname, role, quote_plus(address))
self._connection.call(url, method='DELETE')
- def moderate_message(self, request_id, action):
+ def moderate_message(self, request_id, action, comment=None):
"""Moderate a held message.
:param request_id: Id of the held message.
:type request_id: Int.
:param action: Action to perform on held message.
:type action: String.
+ :param comment: The reason for action, only supported for rejection.
+ :type comment: str
"""
+ data = dict(action=action)
+ if comment is not None:
+ data['comment'] = comment
+
path = 'lists/{0}/held/{1}'.format(
self.fqdn_listname, str(request_id))
response, content = self._connection.call(
- path, dict(action=action), 'POST')
+ path, data, 'POST')
return response
def discard_message(self, request_id):
- """Shortcut for moderate_message."""
+ """Shortcut for moderate_message.
+
+ :param str request_id: The request_id of the held message.
+ """
return self.moderate_message(request_id, 'discard')
- def reject_message(self, request_id):
- """Shortcut for moderate_message."""
- return self.moderate_message(request_id, 'reject')
+ def reject_message(self, request_id, reason=None):
+ """Shortcut for moderate_message.
+
+ :param str request_id: The request_id of the held message.
+ :param str reason: An optional reason for rejection of the message.
+ """
+ return self.moderate_message(request_id, 'reject', reason)
def defer_message(self, request_id):
- """Shortcut for moderate_message."""
+ """Shortcut for moderate_message.
+
+ :param str request_id: The request_id of the held message.
+ """
return self.moderate_message(request_id, 'defer')
def accept_message(self, request_id):
- """Shortcut for moderate_message."""
+ """Shortcut for moderate_message.
+
+ :param str request_id: The request_id of the held message.
+ """
return self.moderate_message(request_id, 'accept')
def moderate_request(self, request_id, action):
@@ -256,23 +273,40 @@
"""Shortcut to defer a subscription request."""
return self.moderate_request(request_id, 'defer')
- def get_member(self, email):
+ def _get_membership(self, email, role):
"""Get a membership.
:param address: The email address of the member for this list.
+ :param role: The membership role.
:return: A member proxy object.
"""
# In order to get the member object we query the REST API for
# the member. Incase there is no matching subscription, an
# HTTPError is returned instead.
try:
- path = 'lists/{0}/member/{1}'.format(
- self.list_id, quote_plus(email))
+ path = 'lists/{0}/{1}/{2}'.format(
+ self.list_id, role, quote_plus(email))
response, content = self._connection.call(path)
return Member(self._connection, content['self_link'], content)
except HTTPError:
- raise ValueError('%s is not a member address of %s' %
- (email, self.fqdn_listname))
+ raise ValueError('%s is not a %s address of %s' %
+ (email, role, self.fqdn_listname))
+
+ def get_member(self, email):
+ """Get a membership.
+
+ :param address: The email address of the member for this list.
+ :return: A member proxy object.
+ """
+ return self._get_membership(email, 'member')
+
+ def get_nonmember(self, email):
+ """Get a non-member of the list.
+
+ :param address: The email address of the non-member for this list.
+ :return: A member proxy object.
+ """
+ return self._get_membership(email, 'nonmember')
def subscribe(self, address, display_name=None, pre_verified=False,
pre_confirmed=False, pre_approved=False):
@@ -293,8 +327,9 @@
data = dict(
list_id=self.list_id,
subscriber=address,
- display_name=display_name,
)
+ if display_name:
+ data['display_name'] = display_name
if pre_verified:
data['pre_verified'] = True
if pre_confirmed:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mailmanclient-3.3.0/src/mailmanclient/restobjects/member.py
new/mailmanclient-3.3.1/src/mailmanclient/restobjects/member.py
--- old/mailmanclient-3.3.0/src/mailmanclient/restobjects/member.py
2019-09-03 17:00:28.000000000 +0200
+++ new/mailmanclient-3.3.1/src/mailmanclient/restobjects/member.py
2020-06-02 05:37:27.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2019 by the Free Software Foundation, Inc.
+# Copyright (C) 2010-2020 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
@@ -29,7 +29,8 @@
_writable_properties = ('address', 'delivery_mode', 'moderation_action')
def __repr__(self):
- return '<Member {0!r} on {1!r}>'.format(self.email, self.list_id)
+ return '<Member {0!r} on {1!r} with role {2!r}>'.format(
+ self.email, self.list_id, self.role)
def __str__(self):
return 'Member "{0}" on "{1}"'.format(self.email, self.list_id)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mailmanclient-3.3.0/src/mailmanclient/restobjects/preferences.py
new/mailmanclient-3.3.1/src/mailmanclient/restobjects/preferences.py
--- old/mailmanclient-3.3.0/src/mailmanclient/restobjects/preferences.py
2019-09-03 17:00:28.000000000 +0200
+++ new/mailmanclient-3.3.1/src/mailmanclient/restobjects/preferences.py
2020-05-10 01:14:40.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2019 by the Free Software Foundation, Inc.
+# Copyright (C) 2010-2020 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mailmanclient-3.3.0/src/mailmanclient/restobjects/queue.py
new/mailmanclient-3.3.1/src/mailmanclient/restobjects/queue.py
--- old/mailmanclient-3.3.0/src/mailmanclient/restobjects/queue.py
2019-09-03 17:00:28.000000000 +0200
+++ new/mailmanclient-3.3.1/src/mailmanclient/restobjects/queue.py
2020-05-10 01:14:40.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2019 by the Free Software Foundation, Inc.
+# Copyright (C) 2010-2020 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mailmanclient-3.3.0/src/mailmanclient/restobjects/settings.py
new/mailmanclient-3.3.1/src/mailmanclient/restobjects/settings.py
--- old/mailmanclient-3.3.0/src/mailmanclient/restobjects/settings.py
2019-05-07 00:08:23.000000000 +0200
+++ new/mailmanclient-3.3.1/src/mailmanclient/restobjects/settings.py
2020-05-10 01:14:40.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2019 by the Free Software Foundation, Inc.
+# Copyright (C) 2010-2020 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mailmanclient-3.3.0/src/mailmanclient/restobjects/styles.py
new/mailmanclient-3.3.1/src/mailmanclient/restobjects/styles.py
--- old/mailmanclient-3.3.0/src/mailmanclient/restobjects/styles.py
2019-09-03 17:00:28.000000000 +0200
+++ new/mailmanclient-3.3.1/src/mailmanclient/restobjects/styles.py
2020-05-10 01:14:40.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2018-2019 by the Free Software Foundation, Inc.
+# Copyright (C) 2018-2020 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mailmanclient-3.3.0/src/mailmanclient/restobjects/templates.py
new/mailmanclient-3.3.1/src/mailmanclient/restobjects/templates.py
--- old/mailmanclient-3.3.0/src/mailmanclient/restobjects/templates.py
2019-09-03 17:00:28.000000000 +0200
+++ new/mailmanclient-3.3.1/src/mailmanclient/restobjects/templates.py
2020-05-10 01:14:40.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2017-2019 by the Free Software Foundation, Inc.
+# Copyright (C) 2017-2020 by the Free Software Foundation, Inc.
#
# This file is part of mailman.client.
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mailmanclient-3.3.0/src/mailmanclient/restobjects/user.py
new/mailmanclient-3.3.1/src/mailmanclient/restobjects/user.py
--- old/mailmanclient-3.3.0/src/mailmanclient/restobjects/user.py
2019-09-03 17:00:28.000000000 +0200
+++ new/mailmanclient-3.3.1/src/mailmanclient/restobjects/user.py
2020-05-10 01:14:40.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2010-2019 by the Free Software Foundation, Inc.
+# Copyright (C) 2010-2020 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mailmanclient-3.3.0/src/mailmanclient/testing/documentation.py
new/mailmanclient-3.3.1/src/mailmanclient/testing/documentation.py
--- old/mailmanclient-3.3.0/src/mailmanclient/testing/documentation.py
2019-05-07 00:08:23.000000000 +0200
+++ new/mailmanclient-3.3.1/src/mailmanclient/testing/documentation.py
2020-05-10 01:14:40.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2019 by the Free Software Foundation, Inc.
+# Copyright (C) 2007-2020 by the Free Software Foundation, Inc.
#
# This file is part of GNU Mailman.
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mailmanclient-3.3.0/src/mailmanclient/testing/vcr_helpers.py
new/mailmanclient-3.3.1/src/mailmanclient/testing/vcr_helpers.py
--- old/mailmanclient-3.3.0/src/mailmanclient/testing/vcr_helpers.py
2019-05-07 00:08:23.000000000 +0200
+++ new/mailmanclient-3.3.1/src/mailmanclient/testing/vcr_helpers.py
2020-05-10 01:14:40.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2015-2019 by the Free Software Foundation, Inc.
+# Copyright (C) 2015-2020 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mailmanclient-3.3.0/src/mailmanclient/tests/test_client.py
new/mailmanclient-3.3.1/src/mailmanclient/tests/test_client.py
--- old/mailmanclient-3.3.0/src/mailmanclient/tests/test_client.py
2019-05-07 00:08:23.000000000 +0200
+++ new/mailmanclient-3.3.1/src/mailmanclient/tests/test_client.py
2020-05-10 01:14:40.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2019 by the Free Software Foundation, Inc.
+# Copyright (C) 2019-2020 by the Free Software Foundation, Inc.
#
# This file is part of mailman.client.
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mailmanclient-3.3.0/src/mailmanclient/tests/test_domain.py
new/mailmanclient-3.3.1/src/mailmanclient/tests/test_domain.py
--- old/mailmanclient-3.3.0/src/mailmanclient/tests/test_domain.py
2019-05-07 00:08:23.000000000 +0200
+++ new/mailmanclient-3.3.1/src/mailmanclient/tests/test_domain.py
2020-05-10 01:14:40.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2015-2019 by the Free Software Foundation, Inc.
+# Copyright (C) 2015-2020 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
@@ -15,12 +15,7 @@
# along with mailmanclient. If not, see <http://www.gnu.org/licenses/>.
"""Test domain corner cases."""
-
-from __future__ import absolute_import, print_function, unicode_literals
-
-
import unittest
-import pytest
from mailmanclient import Client
from six.moves.urllib_error import HTTPError
@@ -32,7 +27,6 @@
]
[email protected]()
class TestDomains(unittest.TestCase):
def setUp(self):
self._client = Client(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mailmanclient-3.3.0/src/mailmanclient/tests/test_list.py
new/mailmanclient-3.3.1/src/mailmanclient/tests/test_list.py
--- old/mailmanclient-3.3.0/src/mailmanclient/tests/test_list.py
2019-05-07 00:08:23.000000000 +0200
+++ new/mailmanclient-3.3.1/src/mailmanclient/tests/test_list.py
2020-05-10 01:14:40.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2017-2019 by the Free Software Foundation, Inc.
+# Copyright (C) 2017-2020 by the Free Software Foundation, Inc.
#
# This file is part of mailman.client.
#
@@ -16,7 +16,7 @@
"""Tests for Mailing List."""
-from __future__ import absolute_import, print_function, unicode_literals
+import time
from urllib.error import HTTPError
from unittest import TestCase
@@ -114,3 +114,109 @@
subscriber_addr = '[email protected]'
self.mlist.subscribe(subscriber_addr)
self.assertFalse(self.mlist.is_owner_or_mod(subscriber_addr))
+
+
+class TestHeldMessage(TestCase):
+
+ def setUp(self):
+ self._client = Client(
+ 'http://localhost:9001/3.1', 'restadmin', 'restpass')
+
+ try:
+ self.domain = self._client.create_domain('example.com')
+ except HTTPError:
+ self.domain = self._client.get_domain('example.com')
+
+ self.mlist = self.domain.create_list('foo')
+ # Test that a held message can be moderated.
+ msg = """\
+From: [email protected]
+To: [email protected]
+Subject: Hello World
+Message-ID: <msgid>
+
+Hello!
+"""
+ self._inject_message(msg, self.mlist)
+ # Wait for the message to appear in the held queue for 10 seconds max.
+ self._wait_for_message_in_held_queue(self.mlist, 30)
+
+ def tearDown(self):
+ self.domain.delete()
+
+ def _inject_message(self, msg, mlist):
+ inq = self._client.queues['in']
+ inq.inject('foo.example.com', msg)
+
+ def _wait_for_message_in_held_queue(self, mlist, timeout):
+ """Wait for held message in mlist for timeout seconds."""
+ start_time = time.time()
+ while True:
+ # if (start_time + timeout > time.time()):
+ # print('timeout trying to wait for message')
+ # break
+ all_held = mlist.held
+ if len(all_held) > 0:
+ print('Total time to wait for message:')
+ print(time.time() - start_time)
+ break
+ time.sleep(0.1)
+
+ def test_held_message_moderation(self):
+ # Test that message was held and not timed out.
+ self.assertEqual(len(self.mlist.held), 1)
+ held = self.mlist.held[0]
+ held_message = self.mlist.get_held_message(held.request_id)
+
+ # Now, let's try to reject this message with a reason.
+ response = self.mlist.reject_message(held_message.request_id,
+ reason='You shall not pass.')
+ self.assertEqual(response.status_code, 204)
+ # Make sure that the message was rejected.
+ self.assertEqual(len(self.mlist.held), 0)
+
+ def test_held_message_moderation_message_object(self):
+ # The only difference between this and the above test is that we use
+ # the `held_message.reject` API, which for some reason as different
+ # code to make the same API call.
+ self.assertEqual(len(self.mlist.held), 1)
+ held = self.mlist.held[0]
+ held_message = self.mlist.get_held_message(held.request_id)
+
+ # Now, let's try to reject this message with a reason.
+ response = held_message.reject(reason='You shall not pass.')
+ self.assertEqual(response.status_code, 204)
+ # Make sure that the message was rejected.
+ self.assertEqual(len(self.mlist.held), 0)
+
+
+class TestMailingList(TestCase):
+
+ def setUp(self):
+ self._client = Client(
+ 'http://localhost:9001/3.1', 'restadmin', 'restpass')
+ try:
+ self.domain = self._client.create_domain('example.com')
+ except HTTPError:
+ self.domain = self._client.get_domain('example.com')
+ self.mlist = self.domain.create_list('foo')
+
+ def tearDown(self):
+ self.domain.delete()
+
+ def test_subscribe_without_display_name(self):
+ self.mlist.subscribe('[email protected]',
+ pre_verified=True,
+ pre_confirmed=True,
+ pre_approved=True)
+ users = self.mlist.members[0]
+ self.assertEqual(users.display_name, '')
+
+ def test_subscribe_with_display_name(self):
+ self.mlist.subscribe('[email protected]',
+ display_name='B Person',
+ pre_verified=True,
+ pre_confirmed=True,
+ pre_approved=True)
+ users = self.mlist.members[0]
+ self.assertEqual(users.display_name, 'B Person')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mailmanclient-3.3.0/src/mailmanclient/tests/test_page.py
new/mailmanclient-3.3.1/src/mailmanclient/tests/test_page.py
--- old/mailmanclient-3.3.0/src/mailmanclient/tests/test_page.py
2019-05-07 00:08:23.000000000 +0200
+++ new/mailmanclient-3.3.1/src/mailmanclient/tests/test_page.py
2020-05-10 01:14:40.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2016-2019 by the Free Software Foundation, Inc.
+# Copyright (C) 2016-2020 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
@@ -15,12 +15,8 @@
# along with mailmanclient. If not, see <http://www.gnu.org/licenses/>.
"""Test Page corner cases."""
-
-from __future__ import absolute_import, print_function, unicode_literals
-
import unittest
-import pytest
from unittest.mock import Mock
from urllib.parse import urlsplit, parse_qs
@@ -33,7 +29,6 @@
]
[email protected]()
class TestPage(unittest.TestCase):
def test_url_simple(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mailmanclient-3.3.0/src/mailmanclient/tests/test_templates.py
new/mailmanclient-3.3.1/src/mailmanclient/tests/test_templates.py
--- old/mailmanclient-3.3.0/src/mailmanclient/tests/test_templates.py
2019-05-07 00:08:23.000000000 +0200
+++ new/mailmanclient-3.3.1/src/mailmanclient/tests/test_templates.py
2020-05-10 01:14:40.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2017-2019 by the Free Software Foundation, Inc.
+# Copyright (C) 2017-2020 by the Free Software Foundation, Inc.
#
# This file is part of mailman.client.
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mailmanclient-3.3.0/src/mailmanclient/tests/test_unicode.py
new/mailmanclient-3.3.1/src/mailmanclient/tests/test_unicode.py
--- old/mailmanclient-3.3.0/src/mailmanclient/tests/test_unicode.py
2019-05-07 00:08:23.000000000 +0200
+++ new/mailmanclient-3.3.1/src/mailmanclient/tests/test_unicode.py
2020-05-10 01:14:40.000000000 +0200
@@ -1,6 +1,6 @@
# coding: utf-8
-# Copyright (C) 2015-2019 by the Free Software Foundation, Inc.
+# Copyright (C) 2015-2020 by the Free Software Foundation, Inc.
#
# This file is part of mailmanclient.
#
@@ -18,10 +18,6 @@
"""Test unicode data when using REST endpoint."""
-
-from __future__ import absolute_import, print_function, unicode_literals
-
-import pytest
import unittest
from mailmanclient import Client
@@ -34,7 +30,6 @@
]
[email protected]()
class TestUnicode(unittest.TestCase):
def setUp(self):
self._client = Client(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mailmanclient-3.3.0/src/mailmanclient.egg-info/PKG-INFO
new/mailmanclient-3.3.1/src/mailmanclient.egg-info/PKG-INFO
--- old/mailmanclient-3.3.0/src/mailmanclient.egg-info/PKG-INFO 2019-09-03
18:06:57.000000000 +0200
+++ new/mailmanclient-3.3.1/src/mailmanclient.egg-info/PKG-INFO 2020-06-02
05:39:22.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: mailmanclient
-Version: 3.3.0
+Version: 3.3.1
Summary: mailmanclient -- Python bindings for Mailman REST API
Home-page: http://www.list.org/
Maintainer: Barry Warsaw
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mailmanclient-3.3.0/src/mailmanclient.egg-info/SOURCES.txt
new/mailmanclient-3.3.1/src/mailmanclient.egg-info/SOURCES.txt
--- old/mailmanclient-3.3.0/src/mailmanclient.egg-info/SOURCES.txt
2019-09-03 18:06:57.000000000 +0200
+++ new/mailmanclient-3.3.1/src/mailmanclient.egg-info/SOURCES.txt
2020-06-02 05:39:22.000000000 +0200
@@ -1,5 +1,3 @@
-.gitignore
-.gitlab-ci.yml
COPYING.LESSER
MANIFEST.in
Makefile
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mailmanclient-3.3.0/src/mailmanclient.egg-info/requires.txt
new/mailmanclient-3.3.1/src/mailmanclient.egg-info/requires.txt
--- old/mailmanclient-3.3.0/src/mailmanclient.egg-info/requires.txt
2019-09-03 18:06:57.000000000 +0200
+++ new/mailmanclient-3.3.1/src/mailmanclient.egg-info/requires.txt
2020-06-02 05:39:22.000000000 +0200
@@ -1,11 +1,11 @@
requests
[lint]
+flake8-bugbear
flake8>3.0
[testing]
+falcon==1.4.1
+mailman>=3.3.1
pytest
-pytest-vcr
pytest-services
-mailman
-falcon==1.4.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/mailmanclient-3.3.0/template.py
new/mailmanclient-3.3.1/template.py
--- old/mailmanclient-3.3.0/template.py 2019-05-07 00:08:23.000000000 +0200
+++ new/mailmanclient-3.3.1/template.py 2020-05-10 01:14:40.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright (C) 2017-2019 by the Free Software Foundation, Inc.
+# Copyright (C) 2020 by the Free Software Foundation, Inc.
#
# This file is part of mailman.client.
#
@@ -16,7 +16,5 @@
"""Module contents."""
-from __future__ import absolute_import, print_function, unicode_literals
-
__all__ = [
]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/mailmanclient-3.3.0/tox.ini
new/mailmanclient-3.3.1/tox.ini
--- old/mailmanclient-3.3.0/tox.ini 2019-05-07 00:08:23.000000000 +0200
+++ new/mailmanclient-3.3.1/tox.ini 2020-06-02 05:37:27.000000000 +0200
@@ -1,23 +1,16 @@
[tox]
-envlist = py{35,36,37},lint
+envlist = py{35,36,37,38},lint
[testenv]
usedevelop = True
-commands = pytest --vcr-record=all {posargs}
+commands = pytest {posargs}
extras = testing
-deps =
-
git+https://gitlab.com/mailman/mailman@cc07241af178bb6870e6043babebf0432659734a
[testenv:dependency]
userdevelop = True
extras = testing
deps = git+https://gitlab.com/mailman/mailman@{env:CORE_COMMIT_SHA}
-
-[testenv:record]
-basepython = python3
-commands = pytest --vcr-record=once {posargs}
-
[testenv:lint]
extras = lint
commands =