web/hgbook/dbutil.py
changeset 2 52d12eb31c30
parent 1 672eaaab9204
child 3 6cee07c589cb
equal deleted inserted replaced
1:672eaaab9204 2:52d12eb31c30
     1 import MySQLdb as mysql
       
     2 import sys
       
     3 
       
     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)
       
    10 
       
    11     if secrets.DATABASE_ENGINE != 'mysql':
       
    12         print >> sys.stderr, ('You are using a %s database' %
       
    13                               secrets.DATABASE_ENGINE)
       
    14         sys.exit(1)
       
    15 
       
    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)