Beagle Daemon: External filters with arguments didnt work.

Michael Jungnickl <[email protected]> Thu, 25 Feb 2010 11:05:15 +0100
Newsgroups gmane.comp.gnome.dashboard.devel
Message-ID <[email protected]>
Hello,

i am working for SoftMaker in Germany. We want to add an external filter 
for Beagle which should enable Beagle to search our own office formats 
like *.tmd and *.pmd for TextMaker and PlanMaker.

I did edit the following external-filters.xml file in etc/beagle:

<?xml version="1.0" encoding="utf-8"?>
<external-filters>
  <!-- TextMaker -->
  <filter>
    <mimetype>application/x-tmd</mimetype>
    <extension>.tmd</extension>
    <command>/home/jungnickl/office2010beta/textmaker</command>
    <arguments>-outputstdout %s</arguments>
  </filter>
  <!-- PlanMaker -->
  <filter>
    <mimetype>application/x-pmd</mimetype>
    <extension>.pmd</extension>
    <command>/home/jungnickl/office2010beta/planmaker</command>
    <arguments>-outputstdout %s</arguments>
  </filter>
</external-filters>

I delete the Beagle index manually and starting the Beagle daemon with 
the console by just calling "beagled". The indexer works. It starts the 
program given under "command". And it shows hits for topics within txt 
and pdf files.

However - and this is my problem - the arguments are invalid and not 
send to our programs in the right way.

A few examples:
- If the arguments are like above, only "-outputstdout" is given as 
command line. There isnt path or filename information.
- When i set "%s" at the first place, the filename and path is correct, 
but "-outputstdout" is missing.
- When i remove the space between the command, the path is added, but 
"%s" for the filename isnt filled and shown as "%s" but "-outputstdout" 
is okay.
- I tried to use two arguments, the Beagle indexer only reads the first 
one!

It looks like the Beagle indizer didnt work like descripted under 
http://beagle-project.org/ExternalFiltersRepository for external filters 
with multiple arguments.
There should be at least a dynamical search within all arguments for %s 
and a insertation without loosing the other commands.

I am using Linux Ubuntu 9.10.
The Beagle search window shows the latest version 0.3.9 from Novell.

***

An other bug: When i change a file while the indizer is running, the 
file is added for search. However, when the program for the filter 
creates the file, it will lead to a infinite loop. Beagle indizer should 
ignore new files while the indizer is running. I avoid this problem by 
using a temporary file.

***

Bye,
Michael Jungnickl