libextractor

GNU libextractor
Log | Files | Refs | Submodules | README | LICENSE

commit 68ac5d6615391c09bb65281c36a247be6c423595
parent 2cc3ea0265d275d8be5c5d7d76c49e948591b9ec
Author: Christian Grothoff <christian@grothoff.org>
Date:   Fri,  6 May 2005 10:29:18 +0000

up

Diffstat:
Msrc/main/Extractor.py | 47++++++++++++++++++++++++++++++++++-------------
Msrc/main/Makefile.am | 2+-
Msrc/main/extractor.c | 50+++++++++++++++++++++++++-------------------------
Msrc/main/libextractor_python.c | 2+-
Msrc/main/libextractor_python_setup.py | 14++++++++------
5 files changed, 69 insertions(+), 46 deletions(-)

diff --git a/src/main/Extractor.py b/src/main/Extractor.py @@ -1,28 +1,49 @@ +"""Extractor.py + +Modul docstring... +""" + import _extractor +__all__ = ["Extractor","Keyword"] +__author__ = "Christian Grothoff, Heiko Wundram" +__version__ = "0.5.0" +__license__ = "GPL" +__date__ = "5/5/2005" + class Extractor(object): + """ + """ + def __init__(self): - self.plugins = _extractor.EXTRACTOR_PY_loadDefaultLibraries() + self.plugins = _extractor.loadDefaultLibraries() def __del__(self): - extractor.EXTRACTOR_PY_removeAll(self.plugins) + _extractor.removeAll(self.plugins) # def load(plugs): -# self.plugins = _extractor.EXTRACTOR_PY_load(self.plugins, plugs) +# self.plugins = _extractor.load(self.plugins, plugs) # return None # def unload(plugs): -# self.plugins = _extractor.EXTRACTOR_PY_unload(self.plugins, plugs) +# self.plugins = _extractor.unload(self.plugins, plugs) # return None def extract(self,filename): - return _extractor.EXTRACTOR_PY_extract(self.plugins, filename, Keyword) + """Pass a filename to extract keywords. + """ + return _extractor.extract(self.plugins, filename, Keyword) class Keyword(object): def __init__(self,type,value): - self.type = type - self.value = value.decode("utf-8") + self.__type = type + self.__value = value.decode("utf-8") def __repr__(self): - return u"%s(%i,%s)" % (self.__class__.__name__,self.type,self.value) + return u"%s(%i,%r)" % (self.__class__.__name__,self.__type,self.__value) def __str__(self): - return u"%s: %s" % (self.getType(), self.getValue()) - def getType(self): - return _extractor.EXTRACTOR_PY_getKeywordTypeAsStringType(self.type).decode("utf-8") - def getValue(self): - return self.value + return u"%s: %s" % (self.__getType(), self.__getValue()) + def __getType(self): + return _extractor.getKeywordTypeAsString(self.__type).decode("utf-8") + def __getValue(self): + return self.__value + def __hash__(self): + return hash(self.__value)+self.__type + + type = property(__getType,None,None,"Type of the Keyword (i.e. author, title)") + value = property(__getValue,None,None,"Value of the Keyword (i.e. 'The GNU GPL')") diff --git a/src/main/Makefile.am b/src/main/Makefile.am @@ -58,4 +58,4 @@ extract_SOURCES = \ all-local: python libextractor_python_setup.py build install-exec-local: - python libextractor_python_setup.py --prefix=$(DESTDIR) install + python libextractor_python_setup.py install --prefix=$(PYTHON_PREFIX) diff --git a/src/main/extractor.c b/src/main/extractor.c @@ -849,35 +849,35 @@ EXTRACTOR_countKeywords (EXTRACTOR_KeywordList * keywords) #define JNICALL #endif -#include "org_ovmj_libextractor_Extractor.h" +#include "org_gnunet_libextractor_Extractor.h" /* - * Class: org_ovmj_libextractor_Extractor + * Class: org_gnunet_libextractor_Extractor * Method: loadDefaultInternal * Signature: ()J */ -JNIEXPORT jlong JNICALL Java_org_ovmj_libextractor_Extractor_loadDefaultInternal(JNIEnv * env, +JNIEXPORT jlong JNICALL Java_org_gnunet_libextractor_Extractor_loadDefaultInternal(JNIEnv * env, jclass c) { return (jlong) (long) EXTRACTOR_loadDefaultLibraries(); } /* - * Class: org_ovmj_libextractor_Extractor + * Class: org_gnunet_libextractor_Extractor * Method: unloadInternal * Signature: (J)V */ -JNIEXPORT void JNICALL Java_org_ovmj_libextractor_Extractor_unloadInternal(JNIEnv * env, +JNIEXPORT void JNICALL Java_org_gnunet_libextractor_Extractor_unloadInternal(JNIEnv * env, jclass c, jlong arg) { EXTRACTOR_removeAll((EXTRACTOR_ExtractorList*) (long) arg); } /* - * Class: org_ovmj_libextractor_Extractor + * Class: org_gnunet_libextractor_Extractor * Method: extractInternal * Signature: (JLjava/lang/String;)J */ -JNIEXPORT jlong JNICALL Java_org_ovmj_libextractor_Extractor_extractInternal(JNIEnv * env, +JNIEXPORT jlong JNICALL Java_org_gnunet_libextractor_Extractor_extractInternal(JNIEnv * env, jclass c, jlong arg, jstring f) { @@ -894,22 +894,22 @@ JNIEXPORT jlong JNICALL Java_org_ovmj_libextractor_Extractor_extractInternal(JNI } /* - * Class: org_ovmj_libextractor_Extractor + * Class: org_gnunet_libextractor_Extractor * Method: freeInternal * Signature: (J)V */ -JNIEXPORT void JNICALL Java_org_ovmj_libextractor_Extractor_freeInternal(JNIEnv * env, +JNIEXPORT void JNICALL Java_org_gnunet_libextractor_Extractor_freeInternal(JNIEnv * env, jclass c, jlong list) { EXTRACTOR_freeKeywords( (EXTRACTOR_KeywordList*) (long) list); } /* - * Class: org_ovmj_libextractor_Extractor + * Class: org_gnunet_libextractor_Extractor * Method: typeInternal * Signature: (J)I */ -JNIEXPORT jint JNICALL Java_org_ovmj_libextractor_Extractor_typeInternal(JNIEnv * env, +JNIEXPORT jint JNICALL Java_org_gnunet_libextractor_Extractor_typeInternal(JNIEnv * env, jclass c, jlong list) { if (list == 0) @@ -918,11 +918,11 @@ JNIEXPORT jint JNICALL Java_org_ovmj_libextractor_Extractor_typeInternal(JNIEnv } /* - * Class: org_ovmj_libextractor_Extractor + * Class: org_gnunet_libextractor_Extractor * Method: keywordInternal * Signature: (J)Ljava/lang/String; */ -JNIEXPORT jstring JNICALL Java_org_ovmj_libextractor_Extractor_keywordInternal(JNIEnv * env, +JNIEXPORT jstring JNICALL Java_org_gnunet_libextractor_Extractor_keywordInternal(JNIEnv * env, jclass c, jlong list) { char * str; @@ -933,11 +933,11 @@ JNIEXPORT jstring JNICALL Java_org_ovmj_libextractor_Extractor_keywordInternal(J } /* - * Class: org_ovmj_libextractor_Extractor + * Class: org_gnunet_libextractor_Extractor * Method: nextInternal * Signature: (J)J */ -JNIEXPORT jlong JNICALL Java_org_ovmj_libextractor_Extractor_nextInternal(JNIEnv * env, +JNIEXPORT jlong JNICALL Java_org_gnunet_libextractor_Extractor_nextInternal(JNIEnv * env, jclass j, jlong list) { if (list == 0) @@ -946,11 +946,11 @@ JNIEXPORT jlong JNICALL Java_org_ovmj_libextractor_Extractor_nextInternal(JNIEnv } /* - * Class: org_ovmj_libextractor_Extractor + * Class: org_gnunet_libextractor_Extractor * Method: getTypeAsStringInternal * Signature: (I)Ljava/lang/String; */ -JNIEXPORT jstring JNICALL Java_org_ovmj_libextractor_Extractor_getTypeAsStringInternal(JNIEnv * env, +JNIEXPORT jstring JNICALL Java_org_gnunet_libextractor_Extractor_getTypeAsStringInternal(JNIEnv * env, jclass c, jint type) { const char * str; @@ -965,31 +965,31 @@ JNIEXPORT jstring JNICALL Java_org_ovmj_libextractor_Extractor_getTypeAsStringIn /* - * Class: org_ovmj_libextractor_Extractor + * Class: org_gnunet_libextractor_Extractor * Method: getVersionInternal * Signature: ()I */ -JNIEXPORT jint JNICALL Java_org_ovmj_libextractor_Extractor_getVersionInternal(JNIEnv * env, +JNIEXPORT jint JNICALL Java_org_gnunet_libextractor_Extractor_getVersionInternal(JNIEnv * env, jclass c) { return EXTRACTOR_VERSION; } /* - * Class: org_ovmj_libextractor_Extractor + * Class: org_gnunet_libextractor_Extractor * Method: getMaxTypeInternal * Signature: ()I */ -JNIEXPORT jint JNICALL Java_org_ovmj_libextractor_Extractor_getMaxTypeInternal(JNIEnv * env, +JNIEXPORT jint JNICALL Java_org_gnunet_libextractor_Extractor_getMaxTypeInternal(JNIEnv * env, jclass c) { return HIGHEST_TYPE_NUMBER; } /* - * Class: org_ovmj_libextractor_Extractor + * Class: org_gnunet_libextractor_Extractor * Method: unloadPlugin * Signature: (JLjava/lang/String;)J */ -JNIEXPORT jlong JNICALL Java_org_ovmj_libextractor_Extractor_unloadPlugin(JNIEnv * env, +JNIEXPORT jlong JNICALL Java_org_gnunet_libextractor_Extractor_unloadPlugin(JNIEnv * env, jclass c, jlong handle, jstring name) { @@ -1006,11 +1006,11 @@ JNIEXPORT jlong JNICALL Java_org_ovmj_libextractor_Extractor_unloadPlugin(JNIEnv } /* - * Class: org_ovmj_libextractor_Extractor + * Class: org_gnunet_libextractor_Extractor * Method: loadPlugin * Signature: (JLjava/lang/String;Z)J */ -JNIEXPORT jlong JNICALL Java_org_ovmj_libextractor_Extractor_loadPlugin(JNIEnv * env, +JNIEXPORT jlong JNICALL Java_org_gnunet_libextractor_Extractor_loadPlugin(JNIEnv * env, jclass c, jlong handle, jstring name, diff --git a/src/main/libextractor_python.c b/src/main/libextractor_python.c @@ -18,8 +18,8 @@ Boston, MA 02111-1307, USA. */ -#include "extractor.h" #include <Python.h> +#include "extractor.h" static PyObject * EXTRACTOR_PY_loadDefaultLibraries(PyObject * self, PyObject * args) { diff --git a/src/main/libextractor_python_setup.py b/src/main/libextractor_python_setup.py @@ -1,11 +1,13 @@ from distutils.core import Extension, setup -cmod = Extension(sources=["libextractor_python.c"], - module="_extractor") +cmod = Extension("_extractor",["libextractor_python.c"], + libraries=["extractor"], + include_dirs=["../include"]) setup(name="Extractor", - version="0.1", - extension=[cmod] - sources=["Extractor.py"], - author="Christian Grothoff, Heiko Wundram") + version="0.5.0", + ext_modules=[cmod], + py_modules=["Extractor"], + author="Christian Grothoff, Heiko Wundram", + author_email="libextractor@gnu.org")