导入时出现Funnelweb TypeError

时间:2013-01-17 14:36:34

标签: plone plone-funnelweb

我尝试导入一些这样的页面:

bin/funnelweb --crawler:url=http://wiki.scandiatransplant.org --crawler:max=50 --ploneupload=http://admin:localhost:8080/Plone

但我收到此错误消息:

Usage: funnelweb [options]

funnelweb: error: ambiguous option: --ploneupload (--ploneupload:debug, --ploneupload:target?)

如果我这样做:  (但如果这样做,导入的页面将放在哪里?)

bin/funnelweb --crawler:url=http://wiki.scandiatransplant.org --crawler:max=150

它可以正常工作,就像它正在导入一样,但最后我得到了下面的追溯。在底部显示:TypeError: replace() takes exactly 7 arguments (6 given)

这是创作者的错误,还是我提出的论据不足? 我在本教程中使用了这个网站:http://plone.org/products/funnelweb

INFO:typeguess:Document, text/html: 144
INFO:typeguess:Image, image/jpeg: 1
INFO:typeguess:Link, : 1
INFO:template1:extracted 0/144/151
INFO:template2:extracted 0/144/151
INFO:template3:extracted 0/144/151
INFO:template4:extracted 0/144/151
INFO:sitemapper:moved 0/151 from 0 sitemaps
INFO:indexguess:2 folders added. 0 defaultpages set, 149 items sorted
INFO:titleguess:0 folders added. 0 defaultpages set, 149 items sorted
INFO:titleguess:titles=0/148 (id=0,backlinks=0,parent=0)
INFO:attachmentguess:moved 0/154
INFO:urltidy:titles=0, normed=147, total=154
Traceback (most recent call last):
  File "bin/funnelweb", line 116, in <module>
    mr.migrator.runner.runner({},"funnelweb.remote")
  File "/home/magiq/Plone/buildout-cache/eggs/mr.migrator-1.0.1-py2.7.egg/mr/migrator/runner/__init__.py", line 132, in runner
    transmogrifier(pipelineid, **overrides)
  File "/home/magiq/Plone/buildout-cache/eggs/collective.transmogrifier-1.3-py2.7.egg/collective/transmogrifier/transmogrifier.py", line 62, in __call__
    for item in pipeline:
  File "/home/magiq/Plone/buildout-cache/eggs/transmogrify.ploneremote-1.3-py2.7.egg/transmogrify/ploneremote/remoteprune.py", line 116, in __iter__
    for item in self.previous:
  File "/home/magiq/Plone/buildout-cache/eggs/transmogrify.ploneremote-1.3-py2.7.egg/transmogrify/ploneremote/remoteredirector.py", line 25, in __iter__
    for item in self.previous:
  File "/home/magiq/Plone/buildout-cache/eggs/transmogrify.ploneremote-1.3-py2.7.egg/transmogrify/ploneremote/remoteworkflowupdater.py", line 41, in __iter__
    for item in self.previous:
  File "/home/magiq/Plone/buildout-cache/eggs/collective.transmogrifier-1.3-py2.7.egg/collective/transmogrifier/sections/inserter.py", line 19, in __iter__
    for item in self.previous:
  File "/home/magiq/Plone/buildout-cache/eggs/transmogrify.ploneremote-1.3-py2.7.egg/transmogrify/ploneremote/remotenavigationexcluder.py", line 32, in __iter__
    for item in self.previous:
  File "/home/magiq/Plone/buildout-cache/eggs/transmogrify.ploneremote-1.3-py2.7.egg/transmogrify/ploneremote/remoteschemaupdater.py", line 42, in __iter__
    for item in self.previous:
  File "/home/magiq/Plone/buildout-cache/eggs/transmogrify.ploneremote-1.3-py2.7.egg/transmogrify/ploneremote/remoteconstructor.py", line 53, in __iter__
    for item in self.previous:
  File "/home/magiq/Plone/buildout-cache/eggs/transmogrify.siteanalyser-1.3-py2.7.egg/transmogrify/siteanalyser/treeserializer.py", line 51, in __iter__
    for item in self.previous:
  File "/home/magiq/Plone/buildout-cache/eggs/collective.transmogrifier-1.3-py2.7.egg/collective/transmogrifier/sections/inserter.py", line 19, in __iter__
    for item in self.previous:
  File "/home/magiq/Plone/buildout-cache/eggs/transmogrify.siteanalyser-1.3-py2.7.egg/transmogrify/siteanalyser/treeserializer.py", line 51, in __iter__
    for item in self.previous:
  File "/home/magiq/Plone/buildout-cache/eggs/transmogrify.siteanalyser-1.3-py2.7.egg/transmogrify/siteanalyser/urltidy.py", line 83, in __iter__
    for item in self.relinker:
  File "/home/magiq/Plone/buildout-cache/eggs/transmogrify.siteanalyser-1.3-py2.7.egg/transmogrify/siteanalyser/relinker.py", line 155, in __iter__
    item['remoteUrl'] = "./" + replace(link, item, changes, counter, self.missing, bad)
TypeError: replace() takes exactly 7 arguments (6 given)

1 个答案:

答案 0 :(得分:1)

你遇到了一个错误,是的。我已在transmogrify.siteanalyser issue tracker中将此问题作为问题提交,请参阅issue #3

replace()方法为given an extra parameter,但第155行的调用从未更新,无法提供额外的参数。

您应该可以通过编辑文件Plone/buildout-cache/eggs/transmogrify.siteanalyser-1.3-py2.7.egg/transmogrify/siteanalyser/relinker.py并从以下位置更改第155行来自行解决此问题:

item['remoteUrl'] = "./" + replace(link, item, changes, counter, self.missing, bad)

item['remoteUrl'] = "./" + replace(link, item, changes, counter, self.missing, bad, self.broken_link_normalise)