--- /dev/null
+#!/usr/bin/python -tt
+# -*- coding: utf-8 -*-
+# vim: sw=4 ts=4 expandtab ai
+
+
+"""
+Main
+"""
+
+import sys
+import os
+import sqlite3
+
+# 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 connect():
+ """connect to database"""
+ file = "meabookdb";
+ if os.access(file, os.F_OK|os.R_OK|os.W_OK):
+ conn = sqlite3.connect(file)
+ else:
+ print "access to database file error"
+ conn = None
+ return conn
+
+def insRecord(record):
+ """insert record into database"""
+ #get id new record
+ conn = connect()
+ if conn is None:
+ print "database connect error"
+ return None
+ c = conn.cursor()
+ c.execute("select max(id) from data")
+ id_record = c.fetchone()[0] + 1
+ for k, v in record.items():
+ #print "key=%s value=%s" % (k, v)
+ c.execute("select id from field where name=?", (k,))
+ id_field = c.fetchone()[0]
+ if id_field is None:
+ #write new field ваы
+ c.execute("insert into field (name) values (?)", (k,))
+ id_field = c.lastrowid
+
+ # insert row into data
+ print "id=%s id_field=%s value=%s" % (id_record, id_field, v)
+ c.execute("insert into data (id, id_field, value) values (?, ?, ?)", (id_record, id_field, v))
+ conn.commit()
+ conn.close()
+
+
+record = {"givenName":"Vasya", "cn":"Pupkin", "mail":"vasya@puplin.com"}
+insRecord(record)
+sys.exit(0)
+