OSQAとDjango 1.3.1。 URLを使ってテキストを投稿するときのエラー

まず第一に:私はPythonのプログラマーではない、私はちょうどLinuxホスティングでOSQAのデフォルトのインストールを実行したい。私のホスティングプロバイダが私のためにそれをインストールしました。そして、OSQAはony one(しかし重大な)エラーで作業しています - もし私がテキスト(http://www.whatever.com/whatever)のURLで質問/回答/空の投稿が追加されました(テキストはまったくありません)。このエラーはログに表示されます:

/data/web/slovensko20.sk/web/forum/models/node.py TIME: 2012-02-05 23:29:14,944 MSG: node.py:_as_markdown:34 Caught exception 'module' object has no attribute 'etree' in markdown parser rendering Answer 'module' object has no attribute 'etree':\s Traceback (most recent call last):
  File "/data/web/slovensko20.sk/web/forum/models/node.py", line 30, in _as_markdown
    return mark_safe(sanitize_html(markdown.markdown(content, extensions=extensions)))
  File "build/bdist.linux-x86_64/egg/markdown/__init__.py", line 396, in markdown
  File "build/bdist.linux-x86_64/egg/markdown/__init__.py", line 287, in convert
  File "build/bdist.linux-x86_64/egg/markdown/treeprocessors.py", line 289, in run
    text), child)
  File "build/bdist.linux-x86_64/egg/markdown/treeprocessors.py", line 110, in __handleInline
    data, patternIndex, startIndex)
  File "build/bdist.linux-x86_64/egg/markdown/treeprocessors.py", line 237, in __applyPattern
    node = pattern.handleMatch(match)
  File "/data/web/slovensko20.sk/web/forum/markdownext/mdx_urlize.py", line 27, in handleMatch
    el = markdown.etree.Element("a")
AttributeError: 'module' object has no attribute 'etree' 

私はそれをgoogleにしようとしましたが、運はありません。

OSQAはFantasy Island(v0.9.0)Beta 3、Djangoはバージョン1.3.1 afaikです。

助けてくれてありがとう!

0
オフトピック;直接OSQAサポートの質問。 OSQA独自のサポート方法を試してみてください。
追加された 著者 Chris Morgan,

1 答え

Python-Markdownの新しいバージョンはetree/AtomicStringをmarkdown.utilに移動しているようですので、この回避策を試してみてください。mdx_urlize.py

try:
    from markdown.util import etree
## replace markdown.etree with just etree

#el = markdown.etree.Element("a")
el = etree.Element("a")

## replace markdown.AtomicString with markdown.util.AtomicString

#el.text = markdown.AtomicString(text)
el.text = markdown.util.AtomicString(text)

You may also see this patch as reference.

1
追加された
上記の修正が実際に機能することを確認できます。 > mdx_limitedsyntax.pyを編集して、実行していることを確認する必要があります:> Markdown == 2.1.1
追加された 著者 stardog101,