diff options
Diffstat (limited to 'bindings/lilv.i')
-rw-r--r-- | bindings/lilv.i | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/bindings/lilv.i b/bindings/lilv.i new file mode 100644 index 0000000..958f9f0 --- /dev/null +++ b/bindings/lilv.i @@ -0,0 +1,38 @@ +%module lilv +%{ +#include "lilv/lilv.h" +#include "lilv/lilvmm.hpp" +%} + +%include "lilv/lilv.h" +%include "lilv/lilvmm.hpp" + +namespace Lilv { + +%extend Plugins { +%pythoncode %{ + def __iter__(self): + class Iterator(object): + def __init__(self, plugins): + self.plugins = plugins + self.iter = plugins.begin() + + def next(self): + self.iter = self.plugins.next(self.iter) + if not self.plugins.is_end(self.iter): + return self.plugins.get(self.iter) + else: + raise StopIteration + + return Iterator(self) +%} +}; + +%extend Node { +%pythoncode %{ + def __str__(self): + return self.get_turtle_token() +%} +}; + +} /* namespace Lilv */ |