added fields filter for ldif parser
authorMax Usachev <maxusachev@gmail.com>
Thu, 17 Jun 2010 06:08:19 +0000 (09:08 +0300)
committerMax Usachev <maxusachev@gmail.com>
Thu, 17 Jun 2010 06:08:19 +0000 (09:08 +0300)
parsers/ldif_parser.py

index 211c809..639a74b 100644 (file)
@@ -1,7 +1,7 @@
 import re
 import sys
 sys.path.insert(0, '../..')
-#sys.path.insert(0, '../')
+sys.path.insert(0, '../')
 from meabook.parsers.ldif import LDIFParser
 from meabook.database.SQLite import SQLite
 
@@ -21,6 +21,17 @@ class MeabookLDIFParser(LDIFParser):
         if ('deleted' in dn) or (not 'people' in dn):
             return
 
+        # remove unused fields
+        used_fields = ['cn', 'uid', 'title', 'mail', 'uidNumber', \
+            'employeeNumber', 'homePhone', 'telephoneNumber', 'internalPhone', \
+            'mobile', 'gender', 'o', 'ou', 'personalTitle', 'gecos', 'sn', \
+            'givenName', 'initials', 'roomNumber', 'description', 'st', \
+            'facsimileTelephoneNumber', 'departmentNumber', 'displayName', \
+            'dateOfBirth']
+        for field in entry.keys():
+            if field not in used_fields:
+                del entry[field]
+
         # choose proper name
         dn = regexp.findall(dn)
         entry['o'] = [dn[0]]
@@ -46,7 +57,7 @@ if __name__ == "__main__":
 
     try:
         database = SQLite('/tmp/')
-        parser = MyLDIFParser(open(sys.argv[1]), database)
+        parser = MeabookLDIFParser(open(sys.argv[1]), database)
     except IOError:
         print 'Wrong file name'
     else: