From 13b0aa847cda496ae4d67912ca2650db285dd293 Mon Sep 17 00:00:00 2001 From: Max Usachev Date: Thu, 17 Jun 2010 09:08:19 +0300 Subject: [PATCH] added fields filter for ldif parser --- parsers/ldif_parser.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/parsers/ldif_parser.py b/parsers/ldif_parser.py index 211c809..639a74b 100644 --- a/parsers/ldif_parser.py +++ b/parsers/ldif_parser.py @@ -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: -- 1.7.9.5