Hi,

I'm developing the WikiPrint[1] (PDF conversion plugin), and I found a
problem I cannot address when converting the wiki page to HTML.

The error trace (below) is confusing. As was able to locate the line
raising the error. The call to wiki_to_html fails when there's an
attachment with format [attachment:filename], but it works perfectly
when using [attachment:wiki:PageName:filename].

An example. When doing:

------------------
from trac.wiki.formatter import wiki_to_html
...
#Value of variable text can be as simple as: u'[attachment:file.txt]\r\n'
page = wiki_to_html(text, env, req)
------------------

I get this output in the browser:

-----------------------
Traceback (most recent call last):
  File 
"c:\python25\lib\site-packages\Trac-0.11.4-py2.5-win32.egg\trac\web\api.py",
line 367, in send_error
    'text/html')
  File 
"c:\python25\lib\site-packages\Trac-0.11.4-py2.5-win32.egg\trac\web\chrome.py",
line 742, in render_template
    stream.render(method, doctype=doctype, out=buffer)
  File "build\bdist.win32\egg\genshi\core.py", line 179, in render
    return encode(generator, method=method, encoding=encoding, out=out)
  File "build\bdist.win32\egg\genshi\output.py", line 61, in encode
    for chunk in iterator:
  File "build\bdist.win32\egg\genshi\output.py", line 311, in __call__
    for kind, data, pos in stream:
  File "build\bdist.win32\egg\genshi\output.py", line 753, in __call__
    for kind, data, pos in stream:
  File "build\bdist.win32\egg\genshi\output.py", line 592, in __call__
    for kind, data, pos in stream:
  File "build\bdist.win32\egg\genshi\output.py", line 698, in __call__
    for kind, data, pos in chain(stream, [(None, None, None)]):
  File "build\bdist.win32\egg\genshi\output.py", line 532, in __call__
    for ev in stream:
  File "build\bdist.win32\egg\genshi\core.py", line 283, in _ensure
    for event in stream:
  File "build\bdist.win32\egg\genshi\core.py", line 283, in _ensure
    for event in stream:
  File 
"c:\python25\lib\site-packages\Trac-0.11.4-py2.5-win32.egg\trac\web\chrome.py",
line 807, in _strip_accesskeys
    for kind, data, pos in stream:
  File "build\bdist.win32\egg\genshi\core.py", line 283, in _ensure
    for event in stream:
  File 
"c:\python25\lib\site-packages\Trac-0.11.4-py2.5-win32.egg\trac\web\chrome.py",
line 796, in _generate
    for kind, data, pos in stream:
  File "build\bdist.win32\egg\genshi\template\base.py", line 569, in _include
    for event in stream:
  File "build\bdist.win32\egg\genshi\template\markup.py", line 298, in _match
    ctxt, start=idx + 1, **vars):
  File "build\bdist.win32\egg\genshi\template\markup.py", line 298, in _match
    ctxt, start=idx + 1, **vars):
  File "build\bdist.win32\egg\genshi\template\markup.py", line 279, in _match
    content = list(content)
  File "build\bdist.win32\egg\genshi\template\base.py", line 569, in _include
    for event in stream:
  File "build\bdist.win32\egg\genshi\template\markup.py", line 245, in _match
    for event in stream:
  File "build\bdist.win32\egg\genshi\template\markup.py", line 234, in _strip
    event = stream.next()
  File "build\bdist.win32\egg\genshi\template\base.py", line 543, in _exec
    for event in stream:
  File "build\bdist.win32\egg\genshi\template\base.py", line 533, in _eval
    for event in substream:
  File "build\bdist.win32\egg\genshi\template\base.py", line 496, in _eval
    for kind, data, pos in stream:
  File "build\bdist.win32\egg\genshi\template\base.py", line 551, in _flatten
    for event in stream:
  File "build\bdist.win32\egg\genshi\core.py", line 283, in _ensure
    for event in stream:
  File "build\bdist.win32\egg\genshi\path.py", line 141, in _generate
    subevent = stream.next()
  File "build\bdist.win32\egg\genshi\template\base.py", line 569, in _include
    for event in stream:
  File "build\bdist.win32\egg\genshi\template\markup.py", line 234, in _strip
    event = stream.next()
  File "build\bdist.win32\egg\genshi\template\base.py", line 543, in _exec
    for event in stream:
  File "build\bdist.win32\egg\genshi\template\base.py", line 533, in _eval
    for event in substream:
  File "build\bdist.win32\egg\genshi\template\base.py", line 496, in _eval
    for kind, data, pos in stream:
  File "build\bdist.win32\egg\genshi\template\base.py", line 551, in _flatten
    for event in stream:
  File "build\bdist.win32\egg\genshi\core.py", line 283, in _ensure
    for event in stream:
  File "build\bdist.win32\egg\genshi\path.py", line 141, in _generate
    subevent = stream.next()
  File "build\bdist.win32\egg\genshi\template\base.py", line 569, in _include
    for event in stream:
  File "build\bdist.win32\egg\genshi\template\markup.py", line 234, in _strip
    event = stream.next()
  File "build\bdist.win32\egg\genshi\template\base.py", line 543, in _exec
    for event in stream:
  File "build\bdist.win32\egg\genshi\template\base.py", line 520, in _eval
    result = _eval_expr(data, ctxt, **vars)
  File "build\bdist.win32\egg\genshi\template\base.py", line 286, in _eval_expr
    retval = expr.evaluate(ctxt)
  File "build\bdist.win32\egg\genshi\template\eval.py", line 180, in evaluate
    return eval(self.code, _globals, {'__data__': data})
  File 
"C:\Python25\lib\site-packages\trac-0.11.4-py2.5-win32.egg\trac\templates\error.html",
line 171, in <Expression u'shorten_line(repr(value))'>
    <td><code>${shorten_line(repr(value))}</code></td>
  File 
"c:\python25\lib\site-packages\Trac-0.11.4-py2.5-win32.egg\trac\resource.py",
line 111, in __repr__
    return '<Resource %r>' % (', '.join(reversed(path)))
TypeError: sequence item 0: expected string, NoneType found
-----------------------

My guess is Trac is trying to display an error, but it fails?

Is this a bug I should report, or is there a problem with my plugin?

Thanks very much, tell me if you need more info.

[1] http://trac-hacks.org/wiki/TracWikiPrintPlugin

-- 
Álvaro J. Iradier Muro
Departamento de Desarrollo
[email protected]

Polar Technologies
T +34 976 527 952
F +34 976 466 125
www.polartech.es

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Trac 
Development" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/trac-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to