Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-python-akismet for openSUSE:Factory checked in at 2022-10-08 01:25:09 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-python-akismet (Old) and /work/SRC/openSUSE:Factory/.python-python-akismet.new.2275 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-python-akismet" Sat Oct 8 01:25:09 2022 rev:2 rq:1008689 version:0.4.3 Changes: -------- --- /work/SRC/openSUSE:Factory/python-python-akismet/python-python-akismet.changes 2021-12-08 22:10:39.814910657 +0100 +++ /work/SRC/openSUSE:Factory/.python-python-akismet.new.2275/python-python-akismet.changes 2022-10-08 01:25:17.982239936 +0200 @@ -1,0 +2,9 @@ +Thu Oct 6 22:12:20 UTC 2022 - Yogalakshmi Arunachalam <yarunacha...@suse.com> + +- Update to Version 0.4.3 + * Bump version: 0.4.2 ??? 0.4.3 + * Pull request #9: Do not use the pip's internal api as it isn't working anymore + * Issue #10: Add Python 3.7 and python 3.8 support + * issue #11: Add bumpversion + +------------------------------------------------------------------- Old: ---- python-akismet-0.4.2.tar.gz New: ---- python-akismet-0.4.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-python-akismet.spec ++++++ --- /var/tmp/diff_new_pack.My7XMG/_old 2022-10-08 01:25:20.242245120 +0200 +++ /var/tmp/diff_new_pack.My7XMG/_new 2022-10-08 01:25:20.246245129 +0200 @@ -1,7 +1,7 @@ # -# spec file for package python-akismet +# spec file for package python-python-akismet # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,7 +18,7 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-python-akismet -Version: 0.4.2 +Version: 0.4.3 Release: 0 Summary: Akismet v1.1 module for Python License: MIT ++++++ python-akismet-0.4.2.tar.gz -> python-akismet-0.4.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-akismet-0.4.2/PKG-INFO new/python-akismet-0.4.3/PKG-INFO --- old/python-akismet-0.4.2/PKG-INFO 2020-05-01 18:41:19.000000000 +0200 +++ new/python-akismet-0.4.3/PKG-INFO 2022-01-25 00:58:52.336805000 +0100 @@ -1,140 +1,137 @@ -Metadata-Version: 1.1 +Metadata-Version: 2.1 Name: python-akismet -Version: 0.4.2 +Version: 0.4.3 Summary: Akismet v1.1 module for Python. - Home-page: https://github.com/Nekmo/python-akismet Author: Nekmo Author-email: conta...@nekmo.com License: MIT Download-URL: https://github.com/Nekmo/python-akismet/archive/master.zip -Description: .. image:: https://img.shields.io/travis/Nekmo/python-akismet.svg?style=flat-square&maxAge=2592000 - :target: https://travis-ci.org/Nekmo/python-akismet - :alt: Latest Travis CI build status - - .. image:: https://img.shields.io/pypi/v/python-akismet.svg?style=flat-square - :target: https://pypi.python.org/pypi/python-akismet - :alt: Latest PyPI version - - .. image:: https://img.shields.io/pypi/pyversions/python-akismet.svg?style=flat-square - :target: https://pypi.python.org/pypi/python-akismet - :alt: Python versions - - .. image:: https://img.shields.io/codeclimate/github/Nekmo/python-akismet.svg?style=flat-square - :target: https://codeclimate.com/github/Nekmo/python-akismet - :alt: Code Climate - - .. image:: https://img.shields.io/codecov/c/github/Nekmo/python-akismet/master.svg?style=flat-square - :target: https://codecov.io/github/Nekmo/python-akismet - :alt: Test coverage - - .. image:: https://img.shields.io/requires/github/Nekmo/python-akismet.svg?style=flat-square - :target: https://requires.io/github/Nekmo/python-akismet/requirements/?branch=master - :alt: Requirements Status - - - Python-akismet - ############## - - Pykismet3 fork. Support older versions of Python and improvements. - - Supported API - ============= - - The Following Akismet API Calls are currently supported: - - - Comment Check - - Submit Ham - - Submit Spam - - Unsupported API - =============== - - The following Akismet API Calls are not yet supported: - * Key Verification - - Installation - ============ - - 1. Signup for Akismet and get yourself an API key at http://akismet.com/plans/ (You don't need to pay) - - 2. Install this library:: - - pip install python-akismet - - 3. Make some calls to Akismet (see example below to get started) - - Example - ======= - - Import and instance Akismet. - - .. code-block:: python - - from akismet import Akismet - - # API KEY (first argument) is required. blog can be defined later. - akismet = Akismet('1ba29d6f120c', blog="http://your.blog/url", - application_user_agent="My Application Name/0.0.1") - - - Comment Check - ------------- - - .. code-block:: python - - akismet.check('192.168.1.3', 'Firefox / COMMENT USER AGENT', comment_author='King Arthur', - comment_author_email='art...@camelot.co.uk', comment_author_url='http://camelot.co.uk', - comment_content='The Lady of the Lake, her arm clad in the purest shimmering samite, ' - 'held aloft Excalibur from the bosom of the water, signifying by divine' - ' providence that I, Arthur, was to carry Excalibur. That is why I ' - 'am your king.', referrer='http://camelot-search/?q=Peasant+Woman') - - Submit Ham - ---------- - - .. code-block:: python - - akismet.submit_ham('192.168.1.12', 'FIREFOX / COMMENT USER AGENT', comment_author='Tim', - comment_author_email='t...@witch.co.uk', - comment_author_url='http://witch.co.uk', - comment_content="Look, that rabbit's got a vicious streak a mile wide!" - "It's a killer!") - - Submit Spam - ----------- - - .. code-block:: python - - akismet.submit_spam('192.168.1.4', 'FIREFOX / COMMENT USER AGENT', comment_author='Frenchman', - comment_author_email='french...@guy-de-lombard.fr', - comment_author_url='http://guy-de-lombard.fr', - comment_content="You don't frighten us, English pig-dogs! Go and boil your " - "bottoms, sons of a silly person! I blow my nose at you, " - "so-called Ah-thoor Keeng, you and all your silly English " - "K-n-n-n-n-n-n-n-niggits!") - - Documentation - ############# - - The examples above show you pretty much everything you need to know. - - For a full list of supported parameters for each API call, see http://akismet.com/development/api/ - - The code is only ~100 lines long anyway, so just look at '''akismet''' if you aren't sure about something. - - Keywords: akismet,spam,protection,comments -Platform: linux +Platform: universal Classifier: License :: OSI Approved :: MIT License -Classifier: Operating System :: POSIX :: Linux Classifier: Programming Language :: Python :: 2.6 Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3.4 -Classifier: Programming Language :: Python :: 3.5 -Classifier: Programming Language :: Python :: 3.6 -Classifier: Programming Language :: Python :: 3.7 -Classifier: Programming Language :: Python :: 3.8 +Classifier: Programming Language :: Python :: 2 :: Only Classifier: Natural Language :: English Classifier: Development Status :: 1 - Planning Provides: akismet +License-File: LICENSE + +.. image:: https://img.shields.io/github/workflow/status/Nekmo/python-akismet/Tests.svg?style=flat-square&maxAge=2592000 + :target: https://github.com/Nekmo/python-akismet/actions?query=workflow%3ATests + :alt: Latest Tests CI build status + +.. image:: https://img.shields.io/pypi/v/python-akismet.svg?style=flat-square + :target: https://pypi.python.org/pypi/python-akismet + :alt: Latest PyPI version + +.. image:: https://img.shields.io/pypi/pyversions/python-akismet.svg?style=flat-square + :target: https://pypi.python.org/pypi/python-akismet + :alt: Python versions + +.. image:: https://img.shields.io/codeclimate/github/Nekmo/python-akismet.svg?style=flat-square + :target: https://codeclimate.com/github/Nekmo/python-akismet + :alt: Code Climate + +.. image:: https://img.shields.io/codecov/c/github/Nekmo/python-akismet/master.svg?style=flat-square + :target: https://codecov.io/github/Nekmo/python-akismet + :alt: Test coverage + +.. image:: https://img.shields.io/requires/github/Nekmo/python-akismet.svg?style=flat-square + :target: https://requires.io/github/Nekmo/python-akismet/requirements/?branch=master + :alt: Requirements Status + + +Python-akismet +############## + +Pykismet3 fork. Support older versions of Python and improvements. + +Supported API +============= + +The Following Akismet API Calls are currently supported: + +- Comment Check +- Submit Ham +- Submit Spam + +Unsupported API +=============== + +The following Akismet API Calls are not yet supported: +* Key Verification + +Installation +============ + +1. Signup for Akismet and get yourself an API key at http://akismet.com/plans/ (You don't need to pay) + +2. Install this library:: + + pip install python-akismet + +3. Make some calls to Akismet (see example below to get started) + +Example +======= + +Import and instance Akismet. + +.. code-block:: python + + from akismet import Akismet + + # API KEY (first argument) is required. blog can be defined later. + akismet = Akismet('1ba29d6f120c', blog="http://your.blog/url", + application_user_agent="My Application Name/0.0.1") + + +Comment Check +------------- + +.. code-block:: python + + akismet.check('192.168.1.3', 'Firefox / COMMENT USER AGENT', comment_author='King Arthur', + comment_author_email='art...@camelot.co.uk', comment_author_url='http://camelot.co.uk', + comment_content='The Lady of the Lake, her arm clad in the purest shimmering samite, ' + 'held aloft Excalibur from the bosom of the water, signifying by divine' + ' providence that I, Arthur, was to carry Excalibur. That is why I ' + 'am your king.', referrer='http://camelot-search/?q=Peasant+Woman') + +Submit Ham +---------- + +.. code-block:: python + + akismet.submit_ham('192.168.1.12', 'FIREFOX / COMMENT USER AGENT', comment_author='Tim', + comment_author_email='t...@witch.co.uk', + comment_author_url='http://witch.co.uk', + comment_content="Look, that rabbit's got a vicious streak a mile wide!" + "It's a killer!") + +Submit Spam +----------- + +.. code-block:: python + + akismet.submit_spam('192.168.1.4', 'FIREFOX / COMMENT USER AGENT', comment_author='Frenchman', + comment_author_email='french...@guy-de-lombard.fr', + comment_author_url='http://guy-de-lombard.fr', + comment_content="You don't frighten us, English pig-dogs! Go and boil your " + "bottoms, sons of a silly person! I blow my nose at you, " + "so-called Ah-thoor Keeng, you and all your silly English " + "K-n-n-n-n-n-n-n-niggits!") + +Documentation +############# + +The examples above show you pretty much everything you need to know. + +For a full list of supported parameters for each API call, see http://akismet.com/development/api/ + +The code is only ~100 lines long anyway, so just look at '''akismet''' if you aren't sure about something. + + + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-akismet-0.4.2/README.rst new/python-akismet-0.4.3/README.rst --- old/python-akismet-0.4.2/README.rst 2020-05-01 18:11:43.000000000 +0200 +++ new/python-akismet-0.4.3/README.rst 2021-03-12 00:45:03.000000000 +0100 @@ -1,6 +1,6 @@ -.. image:: https://img.shields.io/travis/Nekmo/python-akismet.svg?style=flat-square&maxAge=2592000 - :target: https://travis-ci.org/Nekmo/python-akismet - :alt: Latest Travis CI build status +.. image:: https://img.shields.io/github/workflow/status/Nekmo/python-akismet/Tests.svg?style=flat-square&maxAge=2592000 + :target: https://github.com/Nekmo/python-akismet/actions?query=workflow%3ATests + :alt: Latest Tests CI build status .. image:: https://img.shields.io/pypi/v/python-akismet.svg?style=flat-square :target: https://pypi.python.org/pypi/python-akismet diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-akismet-0.4.2/akismet/__init__.py new/python-akismet-0.4.3/akismet/__init__.py --- old/python-akismet-0.4.2/akismet/__init__.py 2020-05-01 18:34:06.000000000 +0200 +++ new/python-akismet-0.4.3/akismet/__init__.py 2022-01-25 00:46:53.000000000 +0100 @@ -1,7 +1,7 @@ import datetime from akismet.exceptions import AkismetServerError, MissingParameterError -__version__ = '0.4.2' +__version__ = '0.4.3' PYTHON_AKISMET_USER_AGENT = "Python-Akismet/{0}".format(__version__) @@ -91,7 +91,7 @@ if result is False: return SpamStatus.Ham elif result is True: - if r.headers.get('X-Akismet-Pro-Tip') is "discard": + if r.headers.get('X-Akismet-Pro-Tip') == "discard": return SpamStatus.DefiniteSpam else: return SpamStatus.ProbableSpam diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-akismet-0.4.2/akismet/tests.py new/python-akismet-0.4.3/akismet/tests.py --- old/python-akismet-0.4.2/akismet/tests.py 2020-05-01 18:11:43.000000000 +0200 +++ new/python-akismet-0.4.3/akismet/tests.py 2020-05-14 03:10:33.000000000 +0200 @@ -3,8 +3,18 @@ import datetime import sys import os + +try: + from urllib.parse import parse_qsl +except ImportError: + from urlparse import parse_qsl + import requests -from akismet import Akismet, SpamStatus +import requests_mock +from requests.exceptions import ConnectTimeout + +from akismet import Akismet, SpamStatus, AKISMET_CHECK_URL, AKISMET_DOMAIN, AKISMET_VERSION, AKISMET_SUBMIT_SPAM_URL, \ + AKISMET_SUBMIT_HAM_URL from akismet.exceptions import AkismetServerError, MissingParameterError if sys.version_info < (2, 7): @@ -20,29 +30,68 @@ akismet = None def setUp(self): - try: - akismet_api_key = os.environ['AKISMET_API_KEY'] - except KeyError: - raise EnvironmentError('Provide AKISMET_API_KEY environment setting.') - self.akismet = Akismet(akismet_api_key, is_test=True) + self.api_key = 'mock' + self.is_test = True + self.blog = 'http://127.0.0.1' + self.user_ip = '127.0.0.1' + self.akismet = Akismet('mock', is_test=self.is_test) + self.mock = requests_mock.Mocker() + self.mock.start() + + def tearDown(self): + self.mock.stop() + + def _get_url(self, url_format, api_key=None): + return url_format.format( + protocol='https', + api_key=api_key or self.api_key, + domain=AKISMET_DOMAIN, + version=AKISMET_VERSION, + ) + + def _get_default_parameters(self): + return { + 'user_ip': self.user_ip, + 'referrer': 'unknown', + 'user_agent': USER_AGENT, + 'charset': Akismet.charset, + 'is_test': str(self.is_test), + 'blog': self.blog, + } def test_check(self): - self.assertEqual(self.akismet.check('127.0.0.1', USER_AGENT, blog='http://127.0.0.1'), SpamStatus.Ham) + parameters = dict(self._get_default_parameters(), user_agent=USER_AGENT) + self.mock.post(self._get_url(AKISMET_CHECK_URL), json=False, + additional_matcher=lambda request: dict(parse_qsl(request.text)) == parameters) + self.assertEqual(self.akismet.check(self.user_ip, USER_AGENT, blog=self.blog), SpamStatus.Ham) def test_check_spam(self): - self.assertEqual(self.akismet.check('127.0.0.1', EVIL_USER_AGENT, comment_author='viagra-test-123', - blog='http://127.0.0.1'), SpamStatus.ProbableSpam) + comment_author = 'viagra-test-123' + parameters = dict(self._get_default_parameters(), user_agent=EVIL_USER_AGENT, + comment_author=comment_author) + self.mock.post(self._get_url(AKISMET_CHECK_URL), json=True, + additional_matcher=lambda request: dict(parse_qsl(request.text)) == parameters) + self.assertEqual(self.akismet.check(self.user_ip, EVIL_USER_AGENT, comment_author=comment_author, + blog=self.blog), SpamStatus.ProbableSpam) def test_invalid_api_key(self): - akismet = Akismet('invalid_api_key', is_test=True) + api_key = 'invalid_api_key' + self.mock.post(self._get_url(AKISMET_CHECK_URL, api_key=api_key), text='') + akismet = Akismet(api_key, is_test=True) with self.assertRaises(AkismetServerError): - akismet.check('127.0.0.1', EVIL_USER_AGENT, blog='http://127.0.0.1') + akismet.check(self.user_ip, EVIL_USER_AGENT, blog=self.blog) def test_submit_spam(self): - self.akismet.submit_spam('127.0.0.1', EVIL_USER_AGENT, blog='http://127.0.0.1') + parameters = dict(self._get_default_parameters(), user_agent=EVIL_USER_AGENT, is_spam='True') + self.mock.post(self._get_url(AKISMET_SUBMIT_SPAM_URL), text="Thanks for making the web a better place.", + additional_matcher=lambda request: dict(parse_qsl(request.text)) == parameters) + self.akismet.submit_spam(self.user_ip, EVIL_USER_AGENT, blog=self.blog) def test_submit_ham(self): - self.akismet.submit_ham('127.0.0.1', USER_AGENT, blog='http://127.0.0.1') + parameters = dict(self._get_default_parameters(), user_agent=USER_AGENT, is_spam='False') + self.mock.post(self._get_url(AKISMET_SUBMIT_HAM_URL), text="Thanks for making the web a better place.", + additional_matcher=lambda request: dict(parse_qsl(request.text)) == parameters) + self.akismet.submit_ham(self.user_ip, USER_AGENT, blog=self.blog) def test_datetime(self): blog_url = 'http://127.0.0.1' @@ -56,10 +105,10 @@ self.assertEqual(data['{0}_gmt'.format(dtkey)], locals()[dtkey].isoformat()) def test_timeout(self): - self.akismet = Akismet(os.environ['AKISMET_API_KEY'], timeout=0.000001, is_test=True) + self.mock.post(self._get_url(AKISMET_SUBMIT_HAM_URL), exc=ConnectTimeout) with self.assertRaises(requests.ConnectionError): - self.akismet.submit_ham('127.0.0.1', USER_AGENT, blog='http://127.0.0.1') + self.akismet.submit_ham(self.user_ip, USER_AGENT, blog=self.blog) def test_require_blog_param(self): with self.assertRaises(MissingParameterError): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-akismet-0.4.2/python_akismet.egg-info/PKG-INFO new/python-akismet-0.4.3/python_akismet.egg-info/PKG-INFO --- old/python-akismet-0.4.2/python_akismet.egg-info/PKG-INFO 2020-05-01 18:41:19.000000000 +0200 +++ new/python-akismet-0.4.3/python_akismet.egg-info/PKG-INFO 2022-01-25 00:58:52.000000000 +0100 @@ -1,140 +1,137 @@ -Metadata-Version: 1.1 +Metadata-Version: 2.1 Name: python-akismet -Version: 0.4.2 +Version: 0.4.3 Summary: Akismet v1.1 module for Python. - Home-page: https://github.com/Nekmo/python-akismet Author: Nekmo Author-email: conta...@nekmo.com License: MIT Download-URL: https://github.com/Nekmo/python-akismet/archive/master.zip -Description: .. image:: https://img.shields.io/travis/Nekmo/python-akismet.svg?style=flat-square&maxAge=2592000 - :target: https://travis-ci.org/Nekmo/python-akismet - :alt: Latest Travis CI build status - - .. image:: https://img.shields.io/pypi/v/python-akismet.svg?style=flat-square - :target: https://pypi.python.org/pypi/python-akismet - :alt: Latest PyPI version - - .. image:: https://img.shields.io/pypi/pyversions/python-akismet.svg?style=flat-square - :target: https://pypi.python.org/pypi/python-akismet - :alt: Python versions - - .. image:: https://img.shields.io/codeclimate/github/Nekmo/python-akismet.svg?style=flat-square - :target: https://codeclimate.com/github/Nekmo/python-akismet - :alt: Code Climate - - .. image:: https://img.shields.io/codecov/c/github/Nekmo/python-akismet/master.svg?style=flat-square - :target: https://codecov.io/github/Nekmo/python-akismet - :alt: Test coverage - - .. image:: https://img.shields.io/requires/github/Nekmo/python-akismet.svg?style=flat-square - :target: https://requires.io/github/Nekmo/python-akismet/requirements/?branch=master - :alt: Requirements Status - - - Python-akismet - ############## - - Pykismet3 fork. Support older versions of Python and improvements. - - Supported API - ============= - - The Following Akismet API Calls are currently supported: - - - Comment Check - - Submit Ham - - Submit Spam - - Unsupported API - =============== - - The following Akismet API Calls are not yet supported: - * Key Verification - - Installation - ============ - - 1. Signup for Akismet and get yourself an API key at http://akismet.com/plans/ (You don't need to pay) - - 2. Install this library:: - - pip install python-akismet - - 3. Make some calls to Akismet (see example below to get started) - - Example - ======= - - Import and instance Akismet. - - .. code-block:: python - - from akismet import Akismet - - # API KEY (first argument) is required. blog can be defined later. - akismet = Akismet('1ba29d6f120c', blog="http://your.blog/url", - application_user_agent="My Application Name/0.0.1") - - - Comment Check - ------------- - - .. code-block:: python - - akismet.check('192.168.1.3', 'Firefox / COMMENT USER AGENT', comment_author='King Arthur', - comment_author_email='art...@camelot.co.uk', comment_author_url='http://camelot.co.uk', - comment_content='The Lady of the Lake, her arm clad in the purest shimmering samite, ' - 'held aloft Excalibur from the bosom of the water, signifying by divine' - ' providence that I, Arthur, was to carry Excalibur. That is why I ' - 'am your king.', referrer='http://camelot-search/?q=Peasant+Woman') - - Submit Ham - ---------- - - .. code-block:: python - - akismet.submit_ham('192.168.1.12', 'FIREFOX / COMMENT USER AGENT', comment_author='Tim', - comment_author_email='t...@witch.co.uk', - comment_author_url='http://witch.co.uk', - comment_content="Look, that rabbit's got a vicious streak a mile wide!" - "It's a killer!") - - Submit Spam - ----------- - - .. code-block:: python - - akismet.submit_spam('192.168.1.4', 'FIREFOX / COMMENT USER AGENT', comment_author='Frenchman', - comment_author_email='french...@guy-de-lombard.fr', - comment_author_url='http://guy-de-lombard.fr', - comment_content="You don't frighten us, English pig-dogs! Go and boil your " - "bottoms, sons of a silly person! I blow my nose at you, " - "so-called Ah-thoor Keeng, you and all your silly English " - "K-n-n-n-n-n-n-n-niggits!") - - Documentation - ############# - - The examples above show you pretty much everything you need to know. - - For a full list of supported parameters for each API call, see http://akismet.com/development/api/ - - The code is only ~100 lines long anyway, so just look at '''akismet''' if you aren't sure about something. - - Keywords: akismet,spam,protection,comments -Platform: linux +Platform: universal Classifier: License :: OSI Approved :: MIT License -Classifier: Operating System :: POSIX :: Linux Classifier: Programming Language :: Python :: 2.6 Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3.4 -Classifier: Programming Language :: Python :: 3.5 -Classifier: Programming Language :: Python :: 3.6 -Classifier: Programming Language :: Python :: 3.7 -Classifier: Programming Language :: Python :: 3.8 +Classifier: Programming Language :: Python :: 2 :: Only Classifier: Natural Language :: English Classifier: Development Status :: 1 - Planning Provides: akismet +License-File: LICENSE + +.. image:: https://img.shields.io/github/workflow/status/Nekmo/python-akismet/Tests.svg?style=flat-square&maxAge=2592000 + :target: https://github.com/Nekmo/python-akismet/actions?query=workflow%3ATests + :alt: Latest Tests CI build status + +.. image:: https://img.shields.io/pypi/v/python-akismet.svg?style=flat-square + :target: https://pypi.python.org/pypi/python-akismet + :alt: Latest PyPI version + +.. image:: https://img.shields.io/pypi/pyversions/python-akismet.svg?style=flat-square + :target: https://pypi.python.org/pypi/python-akismet + :alt: Python versions + +.. image:: https://img.shields.io/codeclimate/github/Nekmo/python-akismet.svg?style=flat-square + :target: https://codeclimate.com/github/Nekmo/python-akismet + :alt: Code Climate + +.. image:: https://img.shields.io/codecov/c/github/Nekmo/python-akismet/master.svg?style=flat-square + :target: https://codecov.io/github/Nekmo/python-akismet + :alt: Test coverage + +.. image:: https://img.shields.io/requires/github/Nekmo/python-akismet.svg?style=flat-square + :target: https://requires.io/github/Nekmo/python-akismet/requirements/?branch=master + :alt: Requirements Status + + +Python-akismet +############## + +Pykismet3 fork. Support older versions of Python and improvements. + +Supported API +============= + +The Following Akismet API Calls are currently supported: + +- Comment Check +- Submit Ham +- Submit Spam + +Unsupported API +=============== + +The following Akismet API Calls are not yet supported: +* Key Verification + +Installation +============ + +1. Signup for Akismet and get yourself an API key at http://akismet.com/plans/ (You don't need to pay) + +2. Install this library:: + + pip install python-akismet + +3. Make some calls to Akismet (see example below to get started) + +Example +======= + +Import and instance Akismet. + +.. code-block:: python + + from akismet import Akismet + + # API KEY (first argument) is required. blog can be defined later. + akismet = Akismet('1ba29d6f120c', blog="http://your.blog/url", + application_user_agent="My Application Name/0.0.1") + + +Comment Check +------------- + +.. code-block:: python + + akismet.check('192.168.1.3', 'Firefox / COMMENT USER AGENT', comment_author='King Arthur', + comment_author_email='art...@camelot.co.uk', comment_author_url='http://camelot.co.uk', + comment_content='The Lady of the Lake, her arm clad in the purest shimmering samite, ' + 'held aloft Excalibur from the bosom of the water, signifying by divine' + ' providence that I, Arthur, was to carry Excalibur. That is why I ' + 'am your king.', referrer='http://camelot-search/?q=Peasant+Woman') + +Submit Ham +---------- + +.. code-block:: python + + akismet.submit_ham('192.168.1.12', 'FIREFOX / COMMENT USER AGENT', comment_author='Tim', + comment_author_email='t...@witch.co.uk', + comment_author_url='http://witch.co.uk', + comment_content="Look, that rabbit's got a vicious streak a mile wide!" + "It's a killer!") + +Submit Spam +----------- + +.. code-block:: python + + akismet.submit_spam('192.168.1.4', 'FIREFOX / COMMENT USER AGENT', comment_author='Frenchman', + comment_author_email='french...@guy-de-lombard.fr', + comment_author_url='http://guy-de-lombard.fr', + comment_content="You don't frighten us, English pig-dogs! Go and boil your " + "bottoms, sons of a silly person! I blow my nose at you, " + "so-called Ah-thoor Keeng, you and all your silly English " + "K-n-n-n-n-n-n-n-niggits!") + +Documentation +############# + +The examples above show you pretty much everything you need to know. + +For a full list of supported parameters for each API call, see http://akismet.com/development/api/ + +The code is only ~100 lines long anyway, so just look at '''akismet''' if you aren't sure about something. + + + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-akismet-0.4.2/setup.cfg new/python-akismet-0.4.3/setup.cfg --- old/python-akismet-0.4.2/setup.cfg 2020-05-01 18:41:19.000000000 +0200 +++ new/python-akismet-0.4.3/setup.cfg 2022-01-25 00:58:52.336805000 +0100 @@ -2,7 +2,6 @@ universal = 1 [egg_info] -tag_date = 0 tag_build = -tag_svn_revision = 0 +tag_date = 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-akismet-0.4.2/setup.py new/python-akismet-0.4.3/setup.py --- old/python-akismet-0.4.2/setup.py 2020-05-01 18:41:09.000000000 +0200 +++ new/python-akismet-0.4.3/setup.py 2022-01-25 00:12:21.000000000 +0100 @@ -41,8 +41,8 @@ # Requerido para la correcta instalaci??n del paquete PLATFORMS = [ - # 'universal', - 'linux', + 'universal', + # 'linux', # 'macosx', # 'solaris', # 'irix', @@ -52,7 +52,7 @@ # 'android' ] ROOT_INCLUDE = ['requirements.txt', 'VERSION', 'LICENSE.txt'] -PYTHON_VERSIONS = ['2.6-2.7'] + ['3.4-3.8'] # or ranges: 3.1-3.5, 2.6-3.4... +PYTHON_VERSIONS = ['2.6-2.7'] + ['3.4-3.10'] # or ranges: 3.1-3.5, 2.6-3.4... INSTALL_REQUIRES = [] # Necesario si no hay un requirements.txt ######## FIN DE LA CONFIGURACI??N DEL PAQUTE ######## @@ -281,7 +281,7 @@ name=PACKAGE_NAME, version=package_version, - description=DESCRIPTION, + description=DESCRIPTION.strip(), long_description=long_description, author=AUTHOR,