コード例 #1
0
ファイル: Kohde.py プロジェクト: jgsavola/rohmotti
    def load_from_database(cls, _id, **kwargs):
        select_columns = Kohde.other_columns

        query = ("SELECT %s FROM %s WHERE %s = %%s" %
                 (', '.join(select_columns),
                  Kohde.table_name,
                  Kohde.id_column))

        my_cursor = _cursor = kwargs.get('_cursor', None)
        row = None
        super_object = None
        try:
            if my_cursor is None:
                my_cursor = cls.conn.cursor()

            kwargs['_cursor'] = my_cursor
            super_object = super(Kohde, cls).load_from_database(_id, **kwargs)

            my_cursor.execute(query, (int(_id),))
            row = my_cursor.fetchone()
        except:
            if _cursor is None:
                cls.conn.rollback()
            raise
        else:
            if _cursor is None:
                cls.conn.commit()

        for i, k in enumerate(select_columns):
            setattr(super_object, k, row[i])

        #
        # Jokaiseen kohteeseen voi liittyä kommentti, joten ne voidaan
        # käyttäjän avuksi ladata tässä.
        #
        kommentit = []
        for kommentti_id in Kommentti.load_ids(kohde_id=_id):
            kommentit.append(Kommentti.load_from_database(kommentti_id))

        super_object.kommentit = kommentit

        return super_object
コード例 #2
0
ファイル: test_kommentti.py プロジェクト: jgsavola/rohmotti
#!/usr/bin/python

import os
import pwd
import psycopg2
from DatabaseObject import DatabaseObject
from Kommentti import Kommentti

dbuser = pwd.getpwuid(os.getuid()).pw_name
dbname = dbuser
conn = psycopg2.connect("dbname=%s user=%s" % (dbname, dbuser))

DatabaseObject.setDatabaseConnection(conn)

kuva = Kommentti.load_from_database(3)

print "kommentti: %d -- %s" % (kuva.kommentti_id, kuva.teksti)

ids = Kommentti.load_ids(kohde_id=10)
for i in ids:
    print "  kommentti(kohde_id=10): %d" % (i)
コード例 #3
0
ファイル: test_resepti2.py プロジェクト: jgsavola/rohmotti
import psycopg2
from DatabaseObject import DatabaseObject
from Kommentti import Kommentti
from Resepti import Resepti

dbuser = pwd.getpwuid(os.getuid()).pw_name
dbname = dbuser
conn = psycopg2.connect("dbname=%s user=%s" % (dbname, dbuser))

DatabaseObject.setDatabaseConnection(conn)

for id in Resepti.load_ids():
    o = Resepti.load_from_database(id)
    print ": %d -- %s" % (o.resepti_id, o.nimi)

for id in Kommentti.load_ids():
    o = Kommentti.load_from_database(id)
    print ": %d -- %s %s" % (o.kommentti_id, o.aika, o.teksti)

# print "new"
# r = Resepti2.new('testi_' + str(time.time()), 'valmista')

# print "update"
# r.valmistusohje = r.valmistusohje + "_update"
# r.save()

# print "delete"
# Resepti2.delete(r.resepti_id)

print "Korinttikeksit"
k = Resepti.load_from_database(68)