Fix dhellmann's notes from April 18
removed the python 3 classifier. See notee4cfa6d39d (commitcomment-6058177)
added W292 pep8 check. See note276f7570d7 (commitcomment-6058296)
added usage examples. See notee4cfa6d39d (commitcomment-6058130)
This commit is contained in:
parent
276f7570d7
commit
b50609bc0e
@ -2,6 +2,66 @@
|
||||
Usage
|
||||
========
|
||||
|
||||
To use in a project::
|
||||
To use oslo.db in a project::
|
||||
|
||||
* Session Handling
|
||||
|
||||
.. code:: python
|
||||
|
||||
from oslo.db.sqlalchemy import session as db_session
|
||||
|
||||
_FACADE = None
|
||||
|
||||
def _create_facade_lazily():
|
||||
global _FACADE
|
||||
if _FACADE is None:
|
||||
_FACADE = db_session.EngineFacade.from_config(
|
||||
CONF.database.connection, CONF)
|
||||
return _FACADE
|
||||
|
||||
def get_engine():
|
||||
facade = _create_facade_lazily()
|
||||
return facade.get_engine()
|
||||
|
||||
def get_session(**kwargs):
|
||||
facade = _create_facade_lazily()
|
||||
return facade.get_session(**kwargs)
|
||||
|
||||
|
||||
* Base class for models usage
|
||||
|
||||
.. code:: python
|
||||
|
||||
from oslo.db import models
|
||||
|
||||
|
||||
class ProjectSomething(models.TimestampMixin,
|
||||
models.ModelBase):
|
||||
id = Column(Integer, primary_key=True)
|
||||
...
|
||||
|
||||
|
||||
* DB API backend support
|
||||
|
||||
.. code:: python
|
||||
|
||||
from oslo.config import cfg
|
||||
from oslo.db import api as db_api
|
||||
|
||||
CONF = cfg.CONF
|
||||
CONF.import_opt('backend', 'oslo.db.options', group='database')
|
||||
|
||||
_BACKEND_MAPPING = {'sqlalchemy': 'project.db.sqlalchemy.api'}
|
||||
|
||||
IMPL = db_api.DBAPI(CONF.database.backend, backend_mapping=_BACKEND_MAPPING)
|
||||
|
||||
def get_engine():
|
||||
return IMPL.get_engine()
|
||||
|
||||
def get_session():
|
||||
return IMPL.get_session()
|
||||
|
||||
# DB-API method
|
||||
def do_something(somethind_id):
|
||||
return IMPL.do_something(somethind_id)
|
||||
|
||||
import db
|
@ -12,4 +12,4 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
__import__('pkg_resources').declare_namespace(__name__)
|
||||
__import__('pkg_resources').declare_namespace(__name__)
|
||||
|
@ -16,8 +16,6 @@ classifier =
|
||||
Programming Language :: Python :: 2
|
||||
Programming Language :: Python :: 2.7
|
||||
Programming Language :: Python :: 2.6
|
||||
Programming Language :: Python :: 3
|
||||
Programming Language :: Python :: 3.3
|
||||
|
||||
[files]
|
||||
packages =
|
||||
|
2
setup.py
2
setup.py
@ -19,4 +19,4 @@ import setuptools
|
||||
|
||||
setuptools.setup(
|
||||
setup_requires=['pbr'],
|
||||
pbr=True)
|
||||
pbr=True)
|
||||
|
2
tox.ini
2
tox.ini
@ -31,6 +31,6 @@ commands = OSLO_LOCK_PATH=/tmp/ python setup.py testr --coverage --testr-args='{
|
||||
# E123, E125 skipped as they are invalid PEP-8.
|
||||
|
||||
show-source = True
|
||||
ignore = E123,E125,H803,W292
|
||||
ignore = E123,E125,H803
|
||||
builtins = _
|
||||
exclude=.venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,build
|
||||
|
Loading…
Reference in New Issue
Block a user