0

xmlrpc API を使用して、WordPress ブログの新しいコメントをチェックする単純な Python スクリプトを作成しています。

新しいコメントがあるかどうかを教えてくれるループに行き詰まっています。コードは次のとおりです。

def checkComm():
    old_commCount = 0;
    server = xmlrpclib.ServerProxy(server_uri); # connect to WP server
    comments = server.wp.getComments(blog_id, server_admin, admin_pass, filters);
    new_commCount = len(comments);
    if new_commCount > old_commCount:
        print "there are new comments"
        old_commCount = new_commCount
    else:
        print "no new comments"

while True:
    checkComm()
    time.sleep(60)

blog_id、server_admin などの変数はスキップしました。この質問には何も追加されないためです。

私のコードの何が問題なのか教えていただけますか?

よろしくお願いします。

4

1 に答える 1

0

関数を呼び出すたびにリセットするため、パラメーターとして渡します。

def checkComm(old_commCount): # passed as a parameter
    server = xmlrpclib.ServerProxy(server_uri) # connect to WP server
    comments = server.wp.getComments(blog_id, server_admin, admin_pass, filters)
    new_commCount = len(comments)
    if new_commCount > old_commCount:
        print "there are new comments"
        old_commCount = new_commCount
        return old_commCount # return it so you can update it
    else:
        print "no new comments"
        return old_commCount

comm_count = 0 # initialize it here
while True:
    comm_count = checkComm(comm_count) # update it every time
    time.sleep(60)
于 2013-04-26T12:19:32.747 に答える