[Zope] Fighting htmllib in external method

Jonothan Farr jfarr@real.com
Tue, 10 Oct 2000 14:32:12 -0700


Try using a StringIO object as your file.

import htmllib
import formatter
from cStringIO import StringIO

def index(self, html):
    file = StringIO()
    fmtr = formatter.AbstractFormatter(formatter.DumbWriter(file))
    p = htmllib.HTMLParser(fmtr)
    p.feed(html)
    file.seek(0)
    return file.read()


----- Original Message ----- 
From: "Jason Spisak" <444@hiretechs.com>
To: <zope@zope.org>
Sent: Tuesday, October 10, 2000 2:47 AM
Subject: [Zope] Fighting htmllib in external method


> Howdy Zopsters,
> 
> I want to catalog some html files but I want to strip the html tags out.
> htmlparser does a good job of that, but when I try to acces that from an
> external method, I run into trouble.
> 
> import htmllib
> import formatter
> 
> def index(self, html):
>     fmtr = formatter.AbstractFormatter(formatter.DumbWriter(file))
>     p = htmllib.HTMLParser(fmtr)
>     return p.feed(html)
>     
> Since the DumbWriter uses stdout, this returns None.  When I try to write
> to a temporary file, or pipe I get 'bad file descriptor' errors because of
> the way external method function I guess.  Any help would really be
> appreciated.
> 
> All my best,
> 
> 
> Jason Spisak
> 444@hiretechs.com
> 
> _______________________________________________
> Zope maillist  -  Zope@zope.org
> http://lists.zope.org/mailman/listinfo/zope
> **   No cross posts or HTML encoding!  **
> (Related lists - 
>  http://lists.zope.org/mailman/listinfo/zope-announce
>  http://lists.zope.org/mailman/listinfo/zope-dev )
>