hgbook

view web/hgbook/dbutil.py @ 742:5a3725bde11e

Big revision of Ch.5.
author Giulio@puck
date Wed Jul 08 17:39:35 2009 +0200 (2009-07-08)
parents ad304b606163
children
line source
1 import MySQLdb as mysql
2 import sys
4 def connect():
5 try:
6 import secrets
7 except ImportError:
8 print >> sys.stderr, 'Decrypt secrets.py.gpg or create a new copy!'
9 sys.exit(1)
11 if secrets.DATABASE_ENGINE != 'mysql':
12 print >> sys.stderr, ('You are using a %s database' %
13 secrets.DATABASE_ENGINE)
14 sys.exit(1)
16 kwargs = {
17 'charset': 'utf8',
18 'use_unicode': True,
19 }
20 if secrets.DATABASE_USER:
21 kwargs['user'] = secrets.DATABASE_USER
22 if secrets.DATABASE_NAME:
23 kwargs['db'] = secrets.DATABASE_NAME
24 if secrets.DATABASE_PASSWORD:
25 kwargs['passwd'] = secrets.DATABASE_PASSWORD
26 if secrets.DATABASE_HOST.startswith('/'):
27 kwargs['unix_socket'] = secrets.DATABASE_HOST
28 elif secrets.DATABASE_HOST:
29 kwargs['host'] = secrets.DATABASE_HOST
30 if secrets.DATABASE_PORT:
31 kwargs['port'] = int(secrets.DATABASE_PORT)
32 return mysql.connect(**kwargs)