
データベース構成を使ってクラスを初期化する
下のコードは、
with
文を使うように
7
章の
UseDatabase
を書き直したものです。こ
の
with
文は、これから書く
UseDatabase
コンテキストマネージャを使います。
from DBcm import UseDatabase
dbconfig = {'host': '127.0.0.1',
'user': 'vsearch',
'password': 'vsearchpasswd',
'database': 'vsearchlogDB',}
with UseDatabase(dbconfig) as cursor:
_SQL = """insert into log
(phrase, letters, ip, browser_string, re
sults)
values
(%s, %s, %s, %s, %s)"""
cursor.execute(_SQL, (req.form['phrase'],
req.form['letters'],
req.remote_addr,
req.user_agent.browser,
res, ))
__init__
メソッドから始めましょう。
__init__
メソッドを使って
UseDatabase
クラスの属性を初期化します。上の説明によると、
__init__
メソッドは引数を
1
つ取
ります。その引数は接続情報の辞書
config
です(下の
def
行に
config
を追加する必
要があります)。
config ...