From a58a7b8f9c678454ba1c015586a478adbce4be67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20K=C4=99dzia?= <Pawel.Kedzia@pwr.wroc.pl> Date: Tue, 3 Jan 2012 12:38:41 +0100 Subject: [PATCH] Wrapper for CorpusReader import corpus2 corpus = corpus2.Corpus() tagset = corpus2.get_named_tagset('nkjp') cr = corpus2.CorpusReader(tagset, 'document') crfile = '/home/rk/tmp/corpus_file.txt' readed_corp = cr.read(crfile) while True: doc = readed_corp.next_document() if not doc: break print doc.path() --- swig/corpus2.i | 9 +++++---- swig/corpusreader.i | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 4 deletions(-) create mode 100644 swig/corpusreader.i diff --git a/swig/corpus2.i b/swig/corpus2.i index e92d165..40b5f85 100644 --- a/swig/corpus2.i +++ b/swig/corpus2.i @@ -10,13 +10,9 @@ %include "annotationchannel.i" %include "annotationview.i" %include "chunk.i" -%include "document.i" -%include "documentreader.i" %include "iob.i" %include "lexeme.i" %include "libpwrnlperror.i" -%include "relation.i" -%include "relationreader.i" %include "sentence.i" %include "tag.i" %include "tagging.i" @@ -27,7 +23,12 @@ %include "tokenreader.i" %include "tokenwriter.i" +%include "relation.i" +%include "document.i" %include "corpus.i" +%include "relationreader.i" +%include "documentreader.i" +%include "corpusreader.i" %{ #include <libcorpus2/util/settings.h> diff --git a/swig/corpusreader.i b/swig/corpusreader.i new file mode 100644 index 0000000..7f5bddf --- /dev/null +++ b/swig/corpusreader.i @@ -0,0 +1,32 @@ +#ifndef SWIG_LIBCORPUS2_CORPUS_READER_I +#define SWIG_LIBCORPUS2_CORPUS_READER_I + +%module libcorpusdocument +%{ + #include <libcorpus2_whole/io/corpusreader.h> +%} + +%include "std_defs.i" +%include "tagset.i" +%include "corpus.i" + +%template(CorpusReaderPtr) boost::shared_ptr<Corpus2::whole::CorpusReader>; +%template(ConstCorpusReaderPtr) boost::shared_ptr<const Corpus2::whole::CorpusReader>; + +%template(CorpusReaderPtrVector) std::vector<boost::shared_ptr<Corpus2::whole::CorpusReader> >; + +namespace Corpus2 { +namespace whole { + class CorpusReader { + public: + CorpusReader(const Tagset& tagset, const std::string& corpus_type); + boost::shared_ptr<Corpus> read(const std::string& corpus_file); + }; +} // whole ns +} // Corpus2 ns + +using namespace std; +using namespace Corpus2; +using namespace Corpus2::whole; + +#endif /* SWIG_LIBCORPUS2_CORPUS_READER_I */ -- GitLab