diff options
| author | jvoisin | 2011-06-21 15:51:20 +0200 |
|---|---|---|
| committer | jvoisin | 2011-06-21 15:51:20 +0200 |
| commit | ef3a62c92b9e071909c53d3757431e0d1f87eec9 (patch) | |
| tree | 4e9f6e15dbd1e5717e60504e4ded13ae59a11918 /lib | |
| parent | 2db5e9e7751d7086e68d8ea05f6a7311bbedea3b (diff) | |
First implementation of the search function
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/parser.py | 20 |
1 files changed, 18 insertions, 2 deletions
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(): | |||
| 17 | self.realname = realname | 17 | self.realname = realname |
| 18 | self.parser = parser | 18 | self.parser = parser |
| 19 | self.editor = editor | 19 | self.editor = editor |
| 20 | self.meta = self.__fill_meta() | 20 | #self.meta = self.__fill_meta() |
| 21 | 21 | ||
| 22 | def __fill_meta(self): | 22 | def __fill_meta(self): |
| 23 | metadata = {} | 23 | metadata = {} |
| @@ -28,7 +28,7 @@ class Generic_parser(): | |||
| 28 | 28 | ||
| 29 | if not meta: | 29 | if not meta: |
| 30 | print("Unable to extract metadata from the file %s" % self.filename) | 30 | print("Unable to extract metadata from the file %s" % self.filename) |
| 31 | sys.exit(1) | 31 | #sys.exit(1) |
| 32 | 32 | ||
| 33 | for title in meta: | 33 | for title in meta: |
| 34 | #fixme i'm so dirty | 34 | #fixme i'm so dirty |
| @@ -63,6 +63,22 @@ class Generic_parser(): | |||
| 63 | ''' | 63 | ''' |
| 64 | del self.editor[field.name] | 64 | del self.editor[field.name] |
| 65 | 65 | ||
| 66 | def search(self, value): | ||
| 67 | return self.__search(value, self.editor) | ||
| 68 | |||
| 69 | def __search(self, value, graph): | ||
| 70 | ''' | ||
| 71 | Search a given file | ||
| 72 | ''' | ||
| 73 | for node in graph: | ||
| 74 | try: | ||
| 75 | iter(node) | ||
| 76 | return node.value + self.__search(value, node) | ||
| 77 | except: | ||
| 78 | if node.name == value: | ||
| 79 | return value | ||
| 80 | return False | ||
| 81 | |||
| 66 | 82 | ||
| 67 | def get_meta(self): | 83 | def get_meta(self): |
| 68 | ''' | 84 | ''' |
