> On Oct. 24, 2015, 6 p.m., Vishesh Handa wrote:
> > I still have many thoughts regarding this particular approach, and third 
> > party plugins in general. I'm trying to write them into a cohesive blob.

Do you mean the entire current extractor interface, or just this patch?

What do you mean, "write them into a cohesive blob"? Do you mean all the 
plugins would be compiled into one giant SO/DLL?

I wrote this patch because it was a 4-hour job, but if you want to overhaul the 
entire plugin API I suppose the SOC project would be a better place to do it.


> On Oct. 24, 2015, 6 p.m., Vishesh Handa wrote:
> > src/extractors/externalextractor.cpp, line 69
> > <https://git.reviewboard.kde.org/r/125762/diff/4/?file=412432#file412432line69>
> >
> >     Why move from the C++ for syntax to Q_FOREACH? There doesn't seem to be 
> > any advantage in this case.

I was told on IRC (IIRC, by Luca Beltrame) that we still can't use range-based 
for loops in frameworks because of compiler requirements. My initial patch used 
range-based for loops.


- Boudhayan


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/125762/#review87334
-----------------------------------------------------------


On Oct. 24, 2015, 5:49 p.m., Boudhayan Gupta wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/125762/
> -----------------------------------------------------------
> 
> (Updated Oct. 24, 2015, 5:49 p.m.)
> 
> 
> Review request for Baloo, KDE Frameworks, Pinak Ahuja, and Vishesh Handa.
> 
> 
> Repository: kfilemetadata
> 
> 
> Description
> -------
> 
> This patch introduces support for external metadata extractors in 
> KFileMetaData
> 
> The external extractors themselves can be written in any language, provided 
> that it can be executed as a standalone executable (compiled or script with a 
> hashbang), with command line arguments, and can output data to stdout.
> 
> The extractors are executed like so:
> 
> * `extractor --mimetypes` - outputs a list of mimetypes supported by the 
> extractor, one per line.
> * `extractor filename` - outputs a json document with the metadata. The keys 
> are such that they can be directly used with PropertyInfo::fromName().
> 
> At the KFileMetaData end, an additional internal plugin (ExternalExtractor) 
> is provided that forms a conduit between external extractors and the internal 
> API. This plugin looks for executables called 
> kfilemetadata_extractor_<something> in /usr/bin to find external extractors, 
> and executes them with the --mimetypes arg to find the list of mimetypes each 
> extractor supports. ExternalExtractor then claims to support all of these 
> mimetypes, and then delegates to the extractor executable when doing the 
> actual extraction.
> 
> 
> Diffs
> -----
> 
>   README.md 19b1a26 
>   src/extractors/CMakeLists.txt 5dd223e 
>   src/extractors/externalextractor.h PRE-CREATION 
>   src/extractors/externalextractor.cpp PRE-CREATION 
> 
> Diff: https://git.reviewboard.kde.org/r/125762/diff/
> 
> 
> Testing
> -------
> 
> Tested with the sample executable file extractor (as attched, written in 
> python) with the dump manual test in KFileMetaData. Works.
> 
> 
> File Attachments
> ----------------
> 
> kfilemetadata_extractor_executable
>   
> https://git.reviewboard.kde.org/media/uploaded/files/2015/10/23/146b657f-31d9-4117-a82f-ef966a6339d4__kfilemetadata_extractor_executable
> 
> 
> Thanks,
> 
> Boudhayan Gupta
> 
>

>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<

Reply via email to