Python-akismet
Pykismet3 fork. Support older versions of Python and improvements.
The Following Akismet API Calls are currently supported:
- Comment Check
- Submit Ham
- Submit Spam
The following Akismet API Calls are not yet supported: * Key Verification
Signup for Akismet and get yourself an API key at http://akismet.com/plans/ (You don't need to pay)
Install this library:
pip install python-akismet
Make some calls to Akismet (see example below to get started)
Import and instance Akismet.
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")
akismet.check('192.168.1.3', 'Firefox / COMMENT USER AGENT', comment_author='King Arthur',
comment_author_email='arthur@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')
akismet.submit_ham('192.168.1.12', 'FIREFOX / COMMENT USER AGENT', comment_author='Tim',
comment_author_email='tim@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!")
akismet.submit_spam('192.168.1.4', 'FIREFOX / COMMENT USER AGENT', comment_author='Frenchman',
comment_author_email='frenchman@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!")
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.