2009-05-26 9 views
0

私はWikipedia &のスクリプトを書いたことがあります。それは私のウェブホスト(Dreamhost)にアップロードしたときに正常に動作しますが、動作しません。&は、ブロックされたままログインする - これは当てはまりません。私のコンピュータで動作します&私はブロックされません。 これは、私はそれが動作していない理由としてウェブホスティングでのPythonスクリプトの問題

A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred. 

/home/tris1601/thewikipediaforum.com/pywikipedia/wikitest.py 
    35 site = wikipedia.getSite() 
    36 newpage = wikipedia.Page(site, u"User:Dottydotdot/test") 
    37 newpage.put(text + "<br><br>'''Imported from [http://en.wikiquote.org '''Wikiquote'''] by [[User:DottyQuoteBot|'''DottyQuoteBot''']]", u"Testing") 
    38 
    39 wikipedia.stopme() 
newpage = Page{[[User:Dottydotdot/test]]}, newpage.put = <bound method Page.put of Page{[[User:Dottydotdot/test]]}>, text = u'You have so many things in the background that y... could possibly work?" <p> [[Ward Cunningham]] \n' 
/home/tris1601/thewikipediaforum.com/pywikipedia/wikipedia.py in put(self=Page{[[User:Dottydotdot/test]]}, newtext=u"You have so many things in the background that y...''] by [[User:DottyQuoteBot|'''DottyQuoteBot''']]", comment=u'Testing', watchArticle=None, minorEdit=True, force=False, sysop=False, botflag=True) 
1380 
1381   # Check blocks 
1382   self.site().checkBlocks(sysop = sysop) 
1383 
1384   # Determine if we are allowed to edit 
self = Page{[[User:Dottydotdot/test]]}, self.site = <bound method Page.site of Page{[[User:Dottydotdot/test]]}>,).checkBlocks undefined, sysop = False 
/home/tris1601/thewikipediaforum.com/pywikipedia/wikipedia.py in checkBlocks(self=wikipedia:en, sysop=False) 
4457   if self._isBlocked[index]: 
4458    # User blocked 
4459    raise UserBlocked('User is blocked in site %s' % self) 
4460 
4461  def isBlocked(self, sysop = False): 
global UserBlocked = <class wikipedia.UserBlocked>, self = wikipedia:en 
UserBlocked: User is blocked in site wikipedia:en 
     args = ('User is blocked in site wikipedia:en',) 

任意のアイデアをGET-正確なエラーメッセージのですか?

ありがとうございました!

+0

ディレクトリの内容を表示しないようにするには、.htaccessファイルを追加する必要があります[http://www.thewikipediaforum.com/pywikipedia/] –

答えて

1

ホスト(Dreamhost)がブロックされている可能性があり、ユーザーではない可能性があります。

0

いくつかのデバッグを追加することから始めます。あなたはwikipediaに送信している出力とその結果をキャプチャできますか?たぶんそれ以上の情報が入っていて、なぜそれが失敗しているのかを知ることができます。

[編集] r.e.デバッグ - 提供したスニペットを参考にアドバイスをするのは難しいです。あなたが1つのファイルに3.5k以上の行を持っているという事実は、そこにはあまり効率の悪いコーディングがあること、または問題が特にうまく分解されていないことを示唆しています...デバッグをもっと難しくする可能性があります。

上記のデバッグで説明した.put()は、ほぼ確実に要求をサーバーに送信しています。それらの要求または要求の一部を印刷することから始めることができます。ただ、これらの要求を行うと、Pythonのprintコマンドを使用して出力を記録しようとし、その後しようとすると、ピースが一緒にどのような要求が送信されると:my_put_requestはあなたが送っているデータのビットである

print "Sending '%s' to server%(my_put_request) 

...。

[編集2]これは、使用しているpywikipediaのボットスクリプトです。ボットのウィキペディアの記事mentions some points on permissionsは、それがアクセスの問題であるというuggedalsの提案をサポートします。ウィキペディアが夢のホストIPを認識し、他の誰かがこれまでに何か悪いことをやっていて、何らかの方法でブロックされてしまった可能性があります。

+0

申し訳ありませんが、私は非常にPythonの新機能です。 ?乾杯! –

関連する問題