32e8b5 | 2001-06-28 | Johan Schön | |
|
4b2367 | 2001-07-13 | Martin Nilsson | |
|
32e8b5 | 2001-06-28 | Johan Schön | |
|
40a44d | 2004-08-07 | Johan Schön | |
|
32e8b5 | 2001-06-28 | Johan Schön | |
|
40a44d | 2004-08-07 | Johan Schön | | inherit .HTML;
|
32e8b5 | 2001-06-28 | Johan Schön | |
constant contenttypes = ({ "application/msword", "application/vnd.ms-word" });
|
13e983 | 2001-08-08 | Fredrik Noring | | constant fields = ({ "body", "title", "keywords"});
|
32e8b5 | 2001-06-28 | Johan Schön | |
|
40a44d | 2004-08-07 | Johan Schön | | .Output filter(Standards.URI uri, string|Stdio.File data, string content_type)
|
32e8b5 | 2001-06-28 | Johan Schön | | {
|
40a44d | 2004-08-07 | Johan Schön | | .Output res=.Output();
|
32e8b5 | 2001-06-28 | Johan Schön | |
if(objectp(data))
data=data->read();
|
13e983 | 2001-08-08 | Fredrik Noring | | string fn = tmp_filename();
object f = Stdio.File(fn, "wct");
int r = f->write(data);
|
32e8b5 | 2001-06-28 | Johan Schön | | f->close();
|
13e983 | 2001-08-08 | Fredrik Noring | | if(r != sizeof(data))
error("Failed to write data for %O (returned %O, not %O)\n",
fn, r, sizeof(data));
|
6f7419 | 2001-11-19 | Johan Schön | | string text;
|
b22532 | 2003-01-20 | Jonas Wallden | | string bin = combine_path(getcwd(), "modules/search/bin/wvWare");
string cwd = combine_path(getcwd(), "modules/search/bin");
string xml = combine_path(getcwd(), "modules/search/pike-modules/"
"Search.pmod/Filter.pmod/wvHtml.xml");
string doc = combine_path(getcwd(), fn);
|
6f7419 | 2001-11-19 | Johan Schön | | mixed err = catch
{
|
47fcc4 | 2003-03-19 | Jonas Wallden | |
text = my_popen( ({ bin, "-1", "-c", "utf-8", "-x", xml, doc }), cwd, 1);
|
6f7419 | 2001-11-19 | Johan Schön | | };
|
2e3bde | 2001-08-14 | Johan Schön | | if(!rm(fn))
werror("Search: Failed to remove temporary file: %s\n", fn);
|
6f7419 | 2001-11-19 | Johan Schön | | if(err)
throw(err);
|
13e983 | 2001-08-08 | Fredrik Noring | |
return ::filter(uri, text, "text/html", ([]), "utf-8");
|
32e8b5 | 2001-06-28 | Johan Schön | | }
|