first variant of parser
authorvlad <vlad@vlalin.(none)>
Tue, 29 Dec 2009 12:41:21 +0000 (14:41 +0200)
committervlad <vlad@vlalin.(none)>
Tue, 29 Dec 2009 12:41:21 +0000 (14:41 +0200)
parser.py [new file with mode: 0755]
test/test.ldiff [new file with mode: 0644]

diff --git a/parser.py b/parser.py
new file mode 100755 (executable)
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 (file)
index 0000000..ce3aa62
--- /dev/null
@@ -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
+