1.9.30 sync.
[gae.git] / python / google / appengine / api / rdbms.py
blobd1e13a87a215c69a941a108677d5116eb39f547b
1 #!/usr/bin/env python
3 # Copyright 2007 Google Inc.
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
9 # http://www.apache.org/licenses/LICENSE-2.0
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
21 """Relational database API for production.
23 Note that rdbms_mysqldb is the module used in dev_appserver.
24 """
33 import logging
35 from google.storage.speckle.python.api import rdbms_apiproxy
38 from google.storage.speckle.python.api.rdbms_apiproxy import *
41 _instance = None
43 def set_instance(instance):
44 global _instance
45 _instance = instance
47 def connect(instance=None, database=None, **kwargs):
48 global _instance
49 if not instance and _instance:
50 instance = _instance
52 if 'db' in kwargs and not database:
53 database = kwargs.pop('db')
55 user = None
56 if 'user' in kwargs:
57 user = kwargs.pop('user')
59 password = None
60 if 'password' in kwargs:
61 password = kwargs.pop('password')
63 if kwargs:
64 logging.info('Ignoring extra kwargs to connect(): %r', kwargs)
66 return rdbms_apiproxy.connect('unused_address',
67 instance,
68 database=database,
69 user=user,
70 password=password)