From: tanya Date: Wed, 30 Dec 2009 10:10:02 +0000 (+0200) Subject: insert record into database X-Git-Url: http://git.maemo.org/git/?p=meabook;a=commitdiff_plain;h=9fc5ae3a3d766538995327392441396da00b95dd insert record into database --- diff --git a/database/db.py b/database/db.py new file mode 100755 index 0000000..d1d6e52 --- /dev/null +++ b/database/db.py @@ -0,0 +1,58 @@ +#!/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) +