# Ticket #4317 (closed defect: fixed)

Opened 4 years ago

## IncludeSourcePartial does not handle case where one line is returned

Reported by: Assigned to: chrisheller chrisheller low IncludeSourcePartialPlugin normal 0.11

### Description

In ticket:4315 there was an issue with line separators that caused the included source to end up as one line. That broke the macro because it assumed that the mimeview render() method would always return a Genshi object that could have generate() called on it.

The line separator issue has been fixed, but I'm not sure of the best answer for the case where the included source ends up being just one line anyways.

The render() docstring says it "Can return the generated XHTML text as a single string", so it seems something like this is the best course of action.

Index: includesource/IncludeSource.py
===================================================================
--- includesource/IncludeSource.py	(revision 5038)
+++ includesource/IncludeSource.py	(working copy)
@@ -143,6 +143,10 @@
mv = Mimeview(self.env)
src = mv.render(formatter.context, mimetype, src, file_name, url, ['givenlineno'])

+        if not hasattr(src, 'generate'):    # got XHTML string back
+            from genshi.input import XML    # so we convert it to use
+            src = XML(src)                  # with Transformers below
+
# the _render_source method will always set the CSS class
# of the annotator to it's name; there isn't an easy way
# to override that. We could create our own CSS class for


If there are any Genshi experts that would like to comment, feel free to do so. Otherwise I'll commit this change after a bit more testing.

## Change History

### 03/31/09 08:10:36 changed by chrisheller

• status changed from new to closed.
• resolution set to fixed.

Added extra check for this condition in changeset:5438

### Add/Change #4317 (IncludeSourcePartial does not handle case where one line is returned)

Change Properties