Hi Tommi,

thanks for your explanations.

Could you both please add your knowledge on existing methods and how to use them properly add into the wiki?

We have already started a page for that:

https://openzim.org/Zimlib

Thanks!

Manuel

Am 06.01.2010 14:27, schrieb Tommi Mäkitalo:

But, I was not able to check the title index:
* Do we have a way with zimDump for example to get all article titles
  starting with "open" for example? * the zimreader has a suggest feature
  (able to propose articles URLs which start with the first characters you
  have typed). Where is the zimreader code which does that ? Is it easy to
  adapt it to do the same with titles?

There is a flag -t in zimDump, which switches to search by title. I just
realized that this is missing on the help page. I will add that.

To find a article by title use:
        zimDump -t -i -f "MyTitle" myzimfile.zim

To use it in your application use iterators:

        zim::File::const_iterator it = zimFile.find('A', "MyUrl");
or
        zim::File::const_iterator it = zimFile.findByTitle('A', "MyTitle");

This will return a iterator to the first article whose url (or title) is equal
or greater than the passed string. You have to compare the iterator against
zimFile.end() to check, if it points really to a valid article. If you look
for a range of articles starting with a specific url (or title) you have to do
that manually e.g.:
        zim::File::const_iterator itFirst = zimFile.find('A', "MyUrl");
        zim::File::const_iterator itLast = zimFile.find('A', "MyUrm");

or by comparing yourself:
        for (zim::File::const_iterator it = zimFile.find('A', "MyUrl");
                it != zimFile.end()&&  it->getUrl().compare(0, 5, "MyUrl") == 0)
                 ++it)
         {
         }


Tommi
_______________________________________________
dev-l mailing list
[email protected]
https://intern.openzim.org/mailman/listinfo/dev-l


--
Regards
Manuel Schneider

Wikimedia CH - Verein zur Förderung Freien Wissens
Wikimedia CH - Association for the advancement of free knowledge
www.wikimedia.ch
_______________________________________________
dev-l mailing list
[email protected]
https://intern.openzim.org/mailman/listinfo/dev-l

Reply via email to