updated parser
authorMax Usachev <maxusachev@gmail.com>
Wed, 9 Jun 2010 10:49:27 +0000 (13:49 +0300)
committerMax Usachev <maxusachev@gmail.com>
Wed, 9 Jun 2010 10:49:27 +0000 (13:49 +0300)
parser.py

index d9779bf..d954456 100755 (executable)
--- a/parser.py
+++ b/parser.py
@@ -1,18 +1,44 @@
 #!/usr/bin/python -tt
 # vim: sw=4 ts=4 expandtab ai
 
+import os
+import re
+import sys
+import base64
 
+from database import db
 
 
+class LDIFParser:
+    def __init__(self, fname):
+        self.fname = fname
+        #self.database = db.DbSqlite()
+        #self.database.clear_data()
 
-import sys
-import os
-import re
-import base64 
+    def parse(self):
+        """Parse LDIF file."""
 
+        try:
+            fobj = open(self.fname)
+        except IOError:
+            return None
 
+        item = {}
+        for line in fobj:
+            if line == '\n' and item:
+                #self.database.insert_record(item)
+                print item
+                item = {}
+            else:
+                parts = line.split(':')
+                if len(parts) == 2:
+                    item[parts[0]] = parts[1].strip()
+                else:
+                    item[parts[0]] = base64.b64decode(parts[2])
 
-from database import db  
+if __name__ == "__main__":
+    p = LDIFParser('/tmp/test.ldif')
+    p.parse()
 
 
 def read_file(file_name):