3 sys.path.insert(0, '../..')
4 #sys.path.insert(0, '../')
5 from meabook.parsers.ldif import LDIFParser
6 from meabook.database.SQLite import SQLite
8 regexp = re.compile(r'o=([^,]+)')
10 class MyLDIFParser(LDIFParser):
11 def __init__(self, fobj, database):
12 LDIFParser.__init__(self, fobj)
13 self.database = database
15 def handle(self, dn, entry):
16 """Process each entry from ldif file."""
19 if not 'uid' in entry or not 'ou' in entry:
21 if 'deleted' in dn or not 'people' in dn:
25 dn = regexp.findall(dn)
28 # capitalize some fields
30 entry[field][0] = ' '.join([item.decode('utf-8').capitalize() for \
31 item in entry[field][0].split(' ')])
32 self.database.add_entry(entry)
38 LDIFParser.parse(self)
42 if __name__ == "__main__":
43 if len(sys.argv) != 2:
44 print "USAGE: %s fname" % sys.argv[0]
48 database = SQLite('/tmp/')
49 parser = MyLDIFParser(open(sys.argv[1]), database)
51 print 'Wrong file name'