« Contents☯ 《 総目次 》 | トップページ | 昨日指摘したココログのバグですが »

2005年5月18日

ココログの XML-RPC で「1日0時0分」に投稿すると…

バグります。先日のアレとは別口。

具体的には XML-RPC で返ってくる 'link' の値が実際の固定リンクの URL とずれる。( /YYYY/MM/ フォルダーの位置が一つ前の月のものになってしまう)

どうも月頭から UTC と日本ローカル時の差の分の時間の間、XML-RPC で取得するリンクが先月のフォルダーにずれこんでしまうという事のようです。

以下 Python でのテスト・スクリプト。2005年5月1日0時0分0秒に設定して投稿しているはずなのですが XML-RPC が返す 'link' の値は

http://tuchinoko.moe-nifty.com/oboegaki/2005/04/hoge.html

といったもので、5月ではなく4月のフォルダーを指しています。

import xmlrpclib, time, calendar, datetime, webbrowser
from account import *
### account.py
##URL = 'http://tuchinoko.moe-nifty.com/oboegaki/' # ココログ URL
##ACCOUNT = 'hoge' # ココログアカウント
##PASSWORD = '????????' # パスワード
def main(title, year, month, day):
    datetime_ = datetime.datetime(year, month, day)
    datetime_ -= datetime.timedelta(hours = 9) # 時差     server = xmlrpclib.ServerProxy('http://app.cocolog-nifty.com/t/api')
    for i in server.blogger.getUsersBlogs("", ACCOUNT, PASSWORD):
        if i["url"] == URL:
            blogid = i['blogid']
    content = {
        'title':title,
        }
    postid = server.metaWeblog.newPost(
        blogid, ACCOUNT, PASSWORD, content, xmlrpclib.boolean(False))
    server.mt.publishPost(postid, ACCOUNT, PASSWORD)
    post = server.metaWeblog.getPost(postid, ACCOUNT, PASSWORD)
#    webbrowser.open_new(post['link'])
    print u'%4d-%02d-%02d %02d:%02d:%02d' % tuple(postdate(post)[:6])
    print post['permaLink']
    content = {
        'title':title,
        'dateCreated':xmlrpclib.DateTime(datetime_.isoformat()+'Z'),
        }
    server.metaWeblog.editPost(
        postid, ACCOUNT, PASSWORD, content, xmlrpclib.boolean(True))
    server.mt.publishPost(postid, ACCOUNT, PASSWORD)
    post = server.metaWeblog.getPost(postid, ACCOUNT, PASSWORD)
    webbrowser.open_new(post['link'])
    print 'date: %4d-%02d-%02d %02d:%02d:%02d' % tuple(postdate(post)[:6])
    print 'URL :',post['permaLink']
##    raw_input('Enter to delete.')
##    print server.blogger.deletePost(
##        '',postid, ACCOUNT, PASSWORD, xmlrpclib.boolean(True))
def postdate(post):
    '''-> time.localtime'''     return  time.localtime(calendar.timegm(
        time.strptime(str(post['dateCreated']).rstrip('Z')+'UTC',
                      '%Y-%m-%dT%H:%M:%S%Z')))
main('hoge', 2005, 5, 1)

それと他に、

・XML-RPC での blogger.deletePost でファイルが削除出来ない

というのも見つけました。正確に言うと、管理画面の「管理→記事一覧」等も含めの表面上は見えなくなるがファイルとしては残っている。(「固定リンク」でアクセスすると存在したままなのが分かる)

もっともこちらは「バグではなくて仕様」なのかもしれませんが。

« Contents☯ 《 総目次 》 | トップページ | 昨日指摘したココログのバグですが »

ウェブログ・ココログ関連」カテゴリの記事

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/68856/4186923

この記事へのトラックバック一覧です: ココログの XML-RPC で「1日0時0分」に投稿すると…:

« Contents☯ 《 総目次 》 | トップページ | 昨日指摘したココログのバグですが »

ブログ妖精

  • ココロ

Affiliate

無料ブログはココログ