From: tanya Date: Wed, 30 Dec 2009 14:03:03 +0000 (+0200) Subject: Merge branch 'ldap_parser' into database X-Git-Url: http://git.maemo.org/git/?a=commitdiff_plain;h=aa17799274faef4de5cb19886ec4e19123b6155c;hp=a3ffd611f74de63a596d9b6e3cc973ac63382260;p=meabook Merge branch 'ldap_parser' into database --- diff --git a/parser.py b/parser.py new file mode 100755 index 0000000..2406f07 --- /dev/null +++ b/parser.py @@ -0,0 +1,45 @@ +#!/usr/bin/python -tt +# vim: sw=4 ts=4 expandtab ai + + + + +""" +Main +""" + +import sys +import os + +# add mnemosyne directory to Python path in debug mode +if os.path.basename(sys.argv[0]).endswith("debug"): + sys.path.insert(0, "../../") + sys.path.insert(0, "../") + + +def read_file(file_name): + try: + file = open(file_name) + except IOError: + return None + result = {} + for line in file: + if line == "\n": + continue + key, value = line.split(':') + key, value = key.strip(), value.strip() + try: + result[key].append(value) + except KeyError: + result[key] = [value] + return result + +def main(argv): + """ Main """ + + print "Main" + result=read_file("test/test.ldiff") + print result + +if __name__ == "__main__": + sys.exit(main(sys.argv)) diff --git a/test/test.ldiff b/test/test.ldiff new file mode 100644 index 0000000..ce3aa62 --- /dev/null +++ b/test/test.ldiff @@ -0,0 +1,47 @@ +dn: cn=Vasya Pupkin,mail=vasya@dummy.com +objectclass: top +objectclass: person +objectclass: organizationalPerson +objectclass: inetOrgPerson +objectclass: mozillaAbPersonAlpha +givenName: Vasya +sn: Pupkin +cn: Vasya Pupkin +mozillaNickname: I'm cool +mail: vasya@dummy.com +nsAIMid: vasya@jabber.com +modifytimestamp: 0Z +telephoneNumber: 123456 +homePhone: 654321 +fax: 81909023 +mobile: +37522344 +homeStreet: 212223 Russia Moscow a/y 333 +mozillaHomeLocalityName: Moscow +mozillaHomePostalCode: 212223 +mozillaHomeCountryName: Russia +street: Unknown +title: worker +department: dep +company: Mazolovo Corp + +dn: cn=Masha Ivanova,mail=pupsik@cool.net +objectclass: top +objectclass: person +objectclass: organizationalPerson +objectclass: inetOrgPerson +objectclass: mozillaAbPersonAlpha +givenName: Masha +sn: Ivanova +cn: Masha Ivanova +mozillaNickname: Pupsik +mail: pupsik@cool.net +modifytimestamp: 0Z +telephoneNumber: 213423423 +homePhone: 3534 +fax: 345 +pager: 34534 +mobile: 345 +homeStreet: Hmm znaet hde +mozillaHomeLocalityName: N-sk +street: Away Away +