From ef3a62c92b9e071909c53d3757431e0d1f87eec9 Mon Sep 17 00:00:00 2001 From: jvoisin Date: Tue, 21 Jun 2011 15:51:20 +0200 Subject: First implementation of the search function --- lib/parser.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'lib') diff --git a/lib/parser.py b/lib/parser.py index 7912b29..6c9f6f3 100644 --- a/lib/parser.py +++ b/lib/parser.py @@ -17,7 +17,7 @@ class Generic_parser(): self.realname = realname self.parser = parser self.editor = editor - self.meta = self.__fill_meta() + #self.meta = self.__fill_meta() def __fill_meta(self): metadata = {} @@ -28,7 +28,7 @@ class Generic_parser(): if not meta: print("Unable to extract metadata from the file %s" % self.filename) - sys.exit(1) + #sys.exit(1) for title in meta: #fixme i'm so dirty @@ -63,6 +63,22 @@ class Generic_parser(): ''' del self.editor[field.name] + def search(self, value): + return self.__search(value, self.editor) + + def __search(self, value, graph): + ''' + Search a given file + ''' + for node in graph: + try: + iter(node) + return node.value + self.__search(value, node) + except: + if node.name == value: + return value + return False + def get_meta(self): ''' -- cgit v1.3