COREBlog1.2.1がリリース¶
COREBlog1.2.1 がリリースされました。今回のリリースを境にメンテナンスモードに入ると言うことで、これまでの延長線上での機能追加はこれが最後になるようです。
ということで、さっそく今回のリリースで追加された コメントやトラックバックの追加前にフックメソッドを呼び出す 機能を使ってみました。
コメント追加前に コメントスパム の可能性があるかどうかをチェックして、 可能性がある場合は 要モデレート 状態にします。
今回はとりあえずNGワードを含む投稿をチェックすることにします。
まず、 COREBlogインスタンスのmethodsフォルダ(以下blog/methods)のプロパティーに
buzz_words
という名前のプロパティーを lines
型で追加します。
そして、プロパティーの値として行単位でNGワードを追加します。
自分は最初はpoker等を対象にしていたのですが、最近はきりがなくなってきたので href
をNGワードにしてしまいました。
次に、以下のPythonスクリプトを beforeAddComment
という名前で blog/methods
フォルダに追加します。
## Script (Python) "beforeAddComment"
##bind container=container
##bind context=context
##bind namespace=
##bind script=script
##bind subpath=traverse_subpath
##parameters=d
##title=
##
try:
if not d["moderated"]:
return d
buzz_words = container.getProperty("buzz_words")
s = str(d).lower()
for w in buzz_words:
if s.find(w) >= 0:
d["moderated"] = 0
break
else:
d["moderated"] = 1
except:
pass
return d
このへんのコードは lirisさんの記事 から頂いたものをCOREBlog1.2.1用に軽く修正 しています。ありがとうございます。
同様に beforAddTrackback
というスクリプトを用意すれば同じ事が出来ます。
.