On 09/22/2011 02:24 PM, Vishesh Handa wrote: > > > On Thu, Sep 22, 2011 at 5:42 PM, Sebastian Trüg <[email protected] > <mailto:[email protected]>> wrote: > > Hi Francois, > > Here is the C++ code which would do it: > > OrTerm mimeTypeTerm; > foreach(QString mimeType, mimeTypes) > mimeTypeTerm.addSubTerm(ComparisonTerm(NIE::mimeType(), mimeType, > ComparisonTerm::Equal); > > FileQuery query(AndTerm(mimeTypeTerm, ResourceTypeTerm(NFO::Video()); > foreach(QString folder, myFolders) > query.addIncludeFolder(folder); > > > You could also do a - > > FileQuery query( mimeTypeTerm && ResourceTypeTerm(NFO::Video()) );
Not in Python. :) > > > That's it. If you want you can remove the ResourceTypeTerm just for > testing. > If this query does not work maybe your file indexer is disabled? > > Cheers, > Sebastian > > On 09/22/2011 11:13 AM, François K. wrote: > > Hi ! > > > > I'm trying to understand how to build a simple query, using the > query API. > > My goal is pretty simple : I want to list all video files stored > in some given directories that Phonon can play. > > > > I tried several "things" without success which leads me to the > asumption that I might have misunderstood something, hence my call > for help :) > > > > This is what I did in my last try : > > > > STEP 1 : > > * Create a new Nepomuk.Query.FileQuery > > * Ask to look for files only via > setFileMode(Nepomuk.Query.FileQuery.QueryFiles) > > * Loop through my 'sources' and add them as sources via > addIncludeFolder(source, True) > > > > STEP 2 : > > * Create a ResourceTypeTerm to get only Video files (NFO::Video()) > > > > STEP 3 : > > * Get the list of video mimetypes that Phonon can play. > > * Loop through this list, and build a ComparisonTerm for each > playable mimetype : > > - The ComparisonTerm is made of the mimetype Property > (NIE::mimeType()) and a LiteralTerm containing the current mimetype. > > * Add all these ComparisonTerms in a OrTerm. > > > > STEP 4 : > > * Build a new AndTerm. > > * Add the ResourceTypeTerm built in STEP 2 to it. > > * Add the OrTerm built in STEP 3 to it. > > > > STEP 5 : > > * Add the AndTerm built in STEP 4 to my Query. > > * Run the query : zero result :( (and there are some). > > > > > > I can provide (Python) code if you want. > > > > What am I missing/doing wrong ? I really need to understand the > logic behind the query system since I'm looking forward to use > Nepomuk almost everywhere in my app. > > So my question isn't really about that precise case, but rather > "how do you guys build your query ?" > > > > > > Oh, also, my strigi didn't index those files yet because of > crashes (but nepomuk is running). Does it matter ? > > > > > > Thanks a lot, > > > _______________________________________________ > Nepomuk mailing list > [email protected] <mailto:[email protected]> > https://mail.kde.org/mailman/listinfo/nepomuk > > > > > -- > Vishesh Handa _______________________________________________ Nepomuk mailing list [email protected] https://mail.kde.org/mailman/listinfo/nepomuk
