Re: Beagle,Querying extended properties
- From: "Joe Shaw" <joe joeshaw org>
- To: "Daniel Labella de la Cruz" <dani labella gmail com>
- Cc: dashboard-hackers gnome org
- Subject: Re: Beagle,Querying extended properties
- Date: Thu, 14 Jun 2007 14:03:25 -0400
Hi,
On 6/14/07, Daniel Labella de la Cruz <dani labella gmail com> wrote:
This is my first time posting on a list and I don't know the procedures to
post a question....if I make a mistake....sorry....
Nope, this is fine.
I was reading about, and I think that the Filters can do that. But the
"problem" is that I want that every file with extended attributes have its
attributes as searchable properties...
Since extended attributes are file system-specific, I think the right
place to add code for this would be in the file system backend
(FileSystemQueryable) rather than filters.
Mono.Unix.Native.Syscall.listxattr(info.FullName,out
XProperties);
There is already a class in Beagle for working with extended
attributes: Beagle.Util.ExtendedAttribute. You should use that
instead, and add anything to it that you need. (For example, I don't
think there is code to list them.)
AddProperty(Beagle.Property.NewKeyword("dc:"+PropertyName[PropertyName.Length-1
] , XValue.Trim('\0')));
"dc" is specifically the "Dublin Core" namespace; see dublincore.org
for more info.
You should probably name it something like "xattr:" + the property name.
With this I can see the extended properties with beagle-extract-content, but
I can't search by property:value...
If you want generic text searches to match, you need to use the
Beagle.Property.New() method instead of NewKeyword(). Keywords are
for exact matches.
If you want to add a special keyword in the search language (like how
we have "album:foo" in the search match to "dc:album" = "foo"), then
you need to use the PropertyKeyword attributes. Look at other filter
or backend instances to see how to declare those.
Joe
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]