2008-03-24T00:56:04.00+9:00
左右を大体復活。copyrightが壊れたまま。
あああ、pyblosxomに元からついてたweblogsping.pyではだめだ。
xmlrpclib.Server('http://blogsearch.google.co.jp/ping/RPC2')..system.listMethods()
{'message': 'Unable to parse XML-RPC request.', 'flerror': True}
しかし、http://www.google.co.jp/intl/ja/help/blogsearch/pinging_API.html で
はweblogUpdates.extendedPingを使っているようだ。
listリクエストは無視するけど、これを使っているということか。じゃあ、googleの
時は持ってなくても送ってしまえばいいのか!?
def __doPing(self):
pingTime = int(time.time())
# Save this data first else we'll go crazy with looping
if not self.__saveResults(pingTime, 'buffer'):
return
# Ping both servers now.
l = []
targets = ['http://ping.blo.gs/', 'http://rpc.weblogs.com/RPC2', \
'http://ping.bloggers.jp/rpc/', 'http://ping.myblog.jp/']
targets = ['http://blogsearch.google.co.jp/ping/RPC2', 'http://ping.bloggers.jp/rpc/', 'http://ping.myblog.jp/']
for url in targets:
result = False
try:
rpc = xmlrpclib.Server(url)
methods = rpc.system.listMethods()
if 'weblogUpdates.extendedPing' in methods or url == 'http://blogsearch.google.co.jp/ping/RPC2':
result = rpc.weblogUpdates.extendedPing(self._title,
self._site,
self._xml, self._xml)
elif 'weblogUpdates.ping' in methods:
result = rpc.weblogUpdates.ping(self._title, self._site)
except:
pass
l.append(result)
pass
# save result of ping in self._file, note, no output is done
self.__saveResults(pingTime, l)
このプラグインはreをimportしてなかったので力技で解決させた。それでもうまくいかない。なんと、rssフレーバーの設定をしてなかった。 だったら、もう、ハードコーディングで、、、、
class WeblogPing:
def __init__(self, request):
# FIXME - do we want to use config["base_url"] instead here?
self._site = 'http://%s%s' % (pyhttp['HTTP_HOST'], pyhttp['SCRIPT_NAME'])
self._site = config['base_url']
# self._xml = self._site + '?flav=rss'
self._xml = self._site + '?flav=atom'
とかやってしまったら、。。。。
(その後、Pyblosxom 1.4についていたrssフレーバーを拾ってきた。)でも更新されてない。どうして???? Google リーダーでは見れるのに…。。。。
apacheをリスタートしてみた。mod_pythonしていたかもしれないので。
わかった!!!!
weblogsping.pyはエントリーを生成したときではなく、publishしたときにしかping しないんだった。orz 1年以上してなかった。wwwwwww
cronをしかけるのもなぁ。これからどうしようか。
うふふふふふ、なんかいっぱい来た。。。。
参考
http://blogsearch.google.co.jp/changes.xml?last=1201. でも動いてなかった。2007-10-27T13:49:12.00+9:00
第3引数が違うのかもしれない。 else:
# for Google
result = rpc.weblogUpdates.extendedPing(self._title,
self._site,
self._site,
self._xml)
そんなもんじゃなくて、2007-10-23T00:30:50.00+9:00くらいかも。
pyblosxom 1.4かというと、まあ、そんな感じで。
find . -newer 適当なファイル -and -regex ".*cmt$" -printf "rm -f %p\n" > purge.shいや、内容ではなく最近できたファイルという条件なんですけど。
Gnomeのファイルの検索メニューがおかしい。どんな条件を指定してもファイルがな いと言う(怒!)しかし本質的なスパムコメントの対策が必要だなあ。 バージョン上げようかな。 htmlの静的生成には10時間くらい掛るし…。
お前のことだよ!ちょームカつく! リモートアドレスが逆引き出来ないときは、カテゴリーとか、サイトマップとかを表 示しないようにしようか。
とりあえず、アホなURLを勝手に無限に生成してアクセスしてくるアホ野郎に対する 対策を調べて、インストールした。
blacklist = ['XXX@XXX。nXXX。tw', 'mXXX。mXXX。oXXX']
for field in ['link', 'description']:
if comment.has_key(field):
for ng in blacklist:
if re.search(ng, comment[field]):
return
sample templateの中に*.atomがあるのだけど、これらの中では$atom_*という変数が あることになっている。これを全部$blog_で始まるように変更すると、いろいろ不都 合がなおる。もしかするとatom.pyというプラグインがあってそれが変数を設定して くれるのかもしれないが、1.0.0のtarballの中にはそんなものはない!
このパッケージングの出来はどうなの!?
comments.pyにpatch を当てて。
win32のlock/unlockがpython 2.4でdeprecateになるよという警告をログに出してい たのをコメントアウトして。
plugins/logtat.pyがdatedirの下にログを残そうとしているのをcache_dirの方を向 くようにして。
py["static_monthnames"] = 0にして、py["static_monthnumbers"] = 1にしないと static rendererが文句を言うのでそう設定して。
cronでstaticを回すことにして(でも速くなっているのだろうか?)。
これくらいかな?
ついでにatomのテンプレートを変更しました。特にドキュメントタイプが間違ってい てのでhtmlのタグが解釈されてなかった問題を解決しました。それと閉じるtagがな いのでrdfが構文エラーになっていたのを修正しました。なのでatomでもrss1.0でも OKなはずです。
weblogping.pyはstatic rendererと相性が悪い(l.42)、 xmlrpc_pingback.pyは入れるだけでエラー、 という状況。
かなり無理なことやってないか?
たくさんあるflavorのテンプレートをdata_dirに置かせるのも、logstat(だったか?) プラグインがdata_dirにログファイルを置こうとするのも(普通、apacheの実行owner とdata_dirのownerが一緒なわけないやろ)、納得いかんことがいろいろ残ったまま。
1. 1. tableからcssによる3paneへ
これまでtableを使っていたのですが、他の人たちのページのソースを見てCSSで左・ 中央・右の3ペイン分割をするようにしました。幅は以前のものでもちゃんと指定し ていましたが、一部が抜けていたので、多分レンダリングが速くなったはずです。ど うもIEでも正しくレンダリングされるようになりました。ついでにCSSの見直しをしてちょっとサイズを減らしました。
2. 2. MySQLの利用
以前のストーリー[WARNING: cache.entryMySQL-2nd was not found under /home/iws/weblog]にも書きましたがMySQLを使ったキャッ シュ管理を使うことにしました。 スピードの評価はまだ済んでないので果たしてこれが改良なのかどうかは分かってい ませんがバージョン0.9でほぼ問題なく運用できています。バージョン1.0でMLにアナ ウンスしようと思っています。3. 3. mod_pythonの利用
そして、かねてからの懸案だったmod_pythonの中でpyblosxomを動かすことにしまし た。テストに1週間掛けてますが、ほぼバグを取りきったようです。そのうちWari氏 にemailで掛け合ってみます。このサイトの情報がgoogleから消えたのは、どうもこのせいじゃなかろうか。
そうすると、rdfのMIME形式がtext/htmlからapplication/rss+xmlになったので (mod_pythonではどうやってもtext/html形式にしかなりませんでした)、その結果 http://myblog.jp/ でちゃんと最新記事名が出るようになりました。
tool_cacheを入れてある(tools.caching-20031121[WARNING: tools.caching-20031121 was not found under /home/iws/weblog])から、そこそこはスピード の問題が解決しているはずなので、もういじらずに、この設定で運用しようかな。
ではなくて、もうちょっとだけがんばった。
white-space: pre;が原因かも。paddingを調整すると問題は解決しそうだが、もうこれで随分ましになっ たので我慢してもらおうと思う。
本当はブラウザの幅にちょうど合うように幅が決まるはずなのですが、IEでははみ出 てしまうようです。ブラウザがそこそこの大きさならそんなにひどい状況にはならな いようなので、そういうものだと思ってください。
いずれにしろプラットフォームを選ばず、open sourceであるmozilla系列ブラウザを、 セキュリティ的にも強く勧めます。そもそも、このサイトは自転車以外はopen source系の話題しかないからIEな人が見てもあまり面白くないだろうし。
trackback.cgiの中で存在をチェックしていた引数をformで送信してないのが原因でし た。
Works well, everything is OK....
OK? every?
99% OK!
(Fri Oct 31 02:39:21 2003) I need check conditionalhttp plugin. something is wrong :-<
(Fri Oct 31 02:50:29 2003) And I'm trying now to merge the vanilla pyblosxom.cgi, which checks __name__ == __main__ , and the mod_python version, which has a handle function.
I, a very very newbie to python, need some hack. After a month experiment, I almost find what's required (pyblosxom-for-mod_python[WARNING: pyblosxom-for-mod_python was not found under /home/iws/weblog]). So, as the conclusion, I'd like to drop the CGI version, and let mod_python version both names, in a few days.
Today I received a comment from wari about my code. He might find better or the true approach. Anyway I hope the upcomming release can work with mod_python without any modification.
Happy Pyblosxoming!
というわけで、blogとweblogはidenticalになります。
metaで飛ばすか、mod_rewriteするか、それとも単にbase_urlを統一するか、悩まし い。

