interesting.... I noticed the same complaint about  rst2S5.py  yeseterday,
that rst2s5  image scaling isn't working ....


On Sun, Oct 12, 2008 at 3:13 PM, Gael Varoquaux <
[EMAIL PROTECTED]> wrote:

> On Sun, Oct 12, 2008 at 09:28:32PM +0200, Gael Varoquaux wrote:
>
> > On Sun, Oct 12, 2008 at 08:41:08PM +0200, Gael Varoquaux wrote:
>
> > > Hi Sphinx!
>
> > > I have the impression that the scale directive is not honored in the
> html
> > > writer. This puzzles me a bit, as I have had a look at the source code,
> > > and the writer calls the base docutils writer to do most of the work.
> > > However I have been unable to scale my images using the scale
> directive.
>
> > I should point out that I have PIL and docutils 0.5 installed. If I run
> > rst2html on the relevant file, I get a bunch of errors due to the
> > sphinx-specific directives, but the html code I am interested in looks
> > OK:
>
> This problem is bugging me, so I am investigating it :).
> I had a look at the relevant docutils code, and I would say that the
> reason this is not working is probably because during the compilation
> docutils cannot open the image file, probably because it has not copied
> to the path where it will be found.
>
> Well, I noticed that this problem had been reported more than once
> before, and that itch must have very scratchy (or maybe I didn't want to
> work on the other things I need to work on), so I wrote a patch to
> sphinx. It is not ideal as it duplicates partly some docutils code (but
> not much). The patch is attached. It does fix the problem on my example.
>
> Gaƫl
>
> >
>
> Index: htmlwriter.py
> ===================================================================
> --- htmlwriter.py       (revision 66880)
> +++ htmlwriter.py       (working copy)
> @@ -11,6 +11,7 @@
>
>  import sys
>  import posixpath
> +import os
>
>  from docutils import nodes
>  from docutils.writers.html4css1 import Writer, HTMLTranslator as
> BaseTranslator
> @@ -19,6 +20,10 @@
>  from sphinx.highlighting import PygmentsBridge
>  from sphinx.util.smartypants import sphinx_smarty_pants
>
> +try:
> +    import Image                        # check for the Python Imaging
> Library
> +except ImportError:
> +    Image = None
>
>  class HTMLWriter(Writer):
>     def __init__(self, builder):
> @@ -253,6 +258,23 @@
>         if olduri in self.builder.images:
>             node['uri'] = posixpath.join(self.builder.imgpath,
>                                          self.builder.images[olduri])
> +
> +        if node.has_key('scale'):
> +            if Image and not (node.has_key('width')
> +                              and node.has_key('height')):
> +                try:
> +                    im = Image.open(os.path.join(self.builder.srcdir,
> +                                                    olduri))
> +                except (IOError, # Source image can't be found or opened
> +                        UnicodeError):  # PIL doesn't like Unicode paths.
> +                    print olduri
> +                    pass
> +                else:
> +                    if not node.has_key('width'):
> +                        node['width'] = str(im.size[0])
> +                    if not node.has_key('height'):
> +                        node['height'] = str(im.size[1])
> +                    del im
>         BaseTranslator.visit_image(self, node)
>
>     def visit_toctree(self, node):
>
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sphinx-dev" 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/sphinx-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to