20 Commits

Author SHA1 Message Date
Brant Knudson
0b3aee8cc6 Autogenerate the module docs
The module docs were out of date (sqlalchemy.enginefacade was
missing).

Rather than try to keep this up to date by hand, autogenerate the
module docs.

Change-Id: I9b36cc635c1c0af9a61b5da20205f5628aec97e7
2015-09-24 10:56:06 -05:00
Davanum Srinivas
5645b7b93d Fix hacking rules and docs job
Change-Id: I2d86f266165ad98ded9f0bb9f11abfd8aa2c09ef
2015-08-08 07:30:58 -04:00
Mike Bayer
d5f390f55c Improve failure mode handling in enginefacade
Check explicitly for the cases where no "sql_connection"
attribute was set when running _start(), so that the
lack of this parameter is documented by the
exception rather than failing into create_engine()
with an unclear failure mode.
If _start() fails as it will here, make sure _started
stays False so that repeated calls to _start() continue
to raise the same exception, rather than raising
attribute errors.  When accessing the "session" or
"connection" attributes of the context when these
attributes were not requested by the decorator or
context manager, raise explicit exceptions
for each, rather than returning None which leads to
hard-to-debug NoneType errors.

Change-Id: Iadfbf4707daed4140285a3a472009f6863b18275
Closes-bug: 1477080
2015-07-27 19:02:41 +03:00
Jeremy Stanley
9b552046f5 Switch from MySQL-python to PyMySQL
As discussed in the Liberty Design Summit "Moving apps to Python 3"
cross-project workshop, the way forward in the near future is to
switch to the pure-python PyMySQL library as a default.

Added a special test environment to keep MySQL-python support.
Documentation modified.

https://etherpad.openstack.org/p/liberty-cross-project-python3

Change-Id: I12b32dc097a121bd43991bc38dd4d289b65e86c1
2015-06-18 15:42:23 +03:00
Mike Bayer
fdbd928b1f Implement new oslo.db.sqlalchemy.enginefacade module
This module presents a replacement for the EngineFacade
system.  At the center is the oslo.db.sqlalchemy.enginefacade
module, which when imported, provides decorators and context
managers which perform all database and ORM connectivity
functions transparently.   The docstrings as well
as the blueprint provide an introduction.

The patch includes a refactoring of sqlalchemy/session.py
into three dependent modules engines.py, orm.py and
enginefacade.py.  This is to maintain a non-cyclical import
structure as well as to maintain the import behavior of
oslo.db overall, as some projects such as glance currently
have dependencies on this structure.

There is also a slimming down and attempt at modernizing
some very old documentation in session.py.  The enginefacade
system should be preferred moving forward.

Implements: blueprint make-enginefacade-a-facade

Change-Id: I9a3d0c26bb727eb2c0bd823b9a12fde57cc7c9c3
2015-06-04 11:43:39 -04:00
Joshua Harlow
198a9e7cf7 Add pypi download + version badges
Also makes the docs look more like the other
oslo libraries so that the content is easily readable
across projects.

Change-Id: Idb17dd30403daa130176643f4609fdd7c61c076e
2015-04-07 14:47:07 -07:00
Doug Hellmann
7063585c60 Move files out of the namespace package
Move the public API out of oslo.db to oslo_db. Retain the ability to
import from the old namespace package for backwards compatibility for
this release cycle.

Blueprint: drop-namespace-packages

Change-Id: Ie96b482b9fbcb1d85203ad35bb65c1f43e912a44
2014-12-24 13:28:48 +02:00
Doug Hellmann
cae12025a9 Clean up documentation
Switch to manually generated rst files for the API documentation so we
do not expose private parts of the library.

Fix formatting of usage.rst

Convert bullet list to section headers to fix rendering issues and make
the docs more readable.

Fix formatting of docstrings in classes exposed in the docs to eliminate
warnings/errors from Sphinx.

Add history.rst

Change-Id: I6f500775f801558f7c0c29f180b60f83a7150e02
2014-09-04 16:27:00 -04:00
Christian Berendt
f2f0960b15 Add doc8 to tox environment docs
Check reStructuredText documents for common style issues.

Change-Id: I10e61742e86d2d4781c5a00532c8e17d38a7d4b4
2014-09-01 11:40:08 +02:00
Jenkins
3f6b009570 Merge "remove definitions of Python Source Code Encoding" 2014-07-30 14:05:17 +00:00
Jenkins
fb84de0828 Merge "Adding dependency documentation for MySQL." 2014-06-14 19:28:00 +00:00
Tim Kelsey
b2c64e45d5 Adding dependency documentation for MySQL.
Merging change I347e1c235bc82d6e510761f4b1c3c3de62994c2f fixing pip
info.

Co-Authored-By: Gauvain Pocentek <gauvain.pocentek@objectif-libre.com>

Change-Id: I9a1b76ed261c69a92cc3e4e6b6100e43f98fea1e
2014-06-13 14:31:45 +01:00
Jenkins
87fc4d39de Merge "Added `docs` environment to tox.ini" 2014-06-10 16:35:15 +00:00
Victor Sergeyev
df1c1dc23c Added `docs` environment to tox.ini
Added the new tox environment to build docs.
Fixes in oslo.db documentation building

Change-Id: Icab4f299df3d8a4c40dc4fd7292609109f206afd
2014-06-06 12:47:17 +03:00
Jenkins
0ecd6a63a8 Merge "Fix usage of oslo.config" 2014-06-05 22:01:58 +00:00
Christian Berendt
8f4389307c cleaning up index.rst file
Removed notes about the generation of the file and fixed the title.

Change-Id: If4d31f80c63f32b33f6f6a13d39fa12992fcf96c
2014-05-28 09:59:28 +02:00
Roman Podoliaka
fad6e5c230 Fix usage of oslo.config
- make it possible to create a DBAPI instance given a config instance

- remove usage of global cfg.CONF instance (it's up to a user to pass
  a ConfigOpts instance to oslo.db)

- ensure end applications don't need to import/register/use config
  options directly - instead they pass a config instance to oslo.db
  helpers (EngineFacade.from_config() and DBAPI.from_config() class
  methods)

At the same time, usage of oslo.config remains completely optional as
we provide an API to pass those parameters programatically.

Change-Id: I1a00db7a4200ebdc96f17256ecbad430477e868f
2014-05-27 15:58:22 +03:00
Christian Berendt
01b916c0b7 remove definitions of Python Source Code Encoding
I think PEP 0263 (http://legacy.python.org/dev/peps/pep-0263/) is
not used anywhere else and so it should be removed.

Change-Id: Ic2c2b284cc80e3db4380fda6f81d45f6d57f2d02
2014-05-25 22:57:25 +02:00
Victor Sergeyev
b50609bc0e Fix dhellmann's notes from April 18
removed the python 3 classifier. See note
e4cfa6d39d (commitcomment-6058177)

added W292 pep8 check. See note
276f7570d7 (commitcomment-6058296)

added usage examples. See note
e4cfa6d39d (commitcomment-6058130)
2014-04-22 18:37:08 +03:00
Victor Sergeyev
e4cfa6d39d Fix the graduate.sh script result 2014-04-18 11:33:16 +03:00