Skip to content

Commit

Permalink
Fixed spacenames
Browse files Browse the repository at this point in the history
  • Loading branch information
maxpowel committed Oct 3, 2017
1 parent 2c6cb34 commit cd71117
Show file tree
Hide file tree
Showing 4 changed files with 71 additions and 71 deletions.
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ entity_manager:
```python
from sqlalchemy import Column, Integer, String, ForeignKey
from sqlalchemy.orm import relationship
from sqlalchemy_bundle.bundle import Base
from sqlalchemy_bundle import Base

class User(Base):
__tablename__ = 'user'
Expand All @@ -44,7 +44,7 @@ for create schema and foreign keys
## Creating the schema
```python
from sqlalchemy_bundle.bundle import EntityManager
from sqlalchemy_bundle import EntityManager
import inject

em = inject.instance(EntityManager)
Expand All @@ -54,7 +54,7 @@ em.generate_schema()
## Querying the database

```python
from sqlalchemy_bundle.bundle import EntityManager
from sqlalchemy_bundle import EntityManager
import inject

em = inject.instance(EntityManager)
Expand All @@ -67,7 +67,7 @@ with em.s as session:
or if you prefer the real session object

```python
from sqlalchemy_bundle.bundle import EntityManager
from sqlalchemy_bundle import EntityManager
import inject

em = inject.instance(EntityManager)
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
setup(
name='sqlalchemy_bundle',
packages=['sqlalchemy_bundle'],
version='1.02',
version='1.03',
description='SqlAlchemy support for applauncher',
author='Alvaro Garcia Gomez',
author_email='[email protected]',
Expand Down
66 changes: 66 additions & 0 deletions sqlalchemy_bundle/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker, scoped_session
from sqlalchemy import create_engine
from applauncher.kernel import Configuration, Kernel
from contextlib import contextmanager
import inject

Base = declarative_base()


class EntityManagerBundle(object):
def __init__(self):
self.config_mapping = {
"entity_manager": {
"driver": None,
"debug": False,
"username": "root",
"hostname": "localhost",
"password": "",
"database": None,
"port": None

}
}


class EntityManager(object):
@inject.params(configuration=Configuration)
def __init__(self, configuration):
config = configuration.entity_manager
if config.driver.startswith("sqlite"):
engine = create_engine(config.driver, echo=config.debug)
else:
uri = "{driver}://{username}{password}@{host}/{database}?charset=utf8".format(
driver=config.driver,
username=config.username,
password=":"+str(config.password) if config.password is not None else "",
host=config.hostname,
database=config.database
)

engine = create_engine(uri, echo=config.debug, pool_recycle=60)

self.engine = engine

session_factory = sessionmaker(bind=engine, autocommit=False, autoflush=False)
self.Session = scoped_session(session_factory)
# Register mappings
kernel = inject.instance(Kernel)
for bundle in kernel.bundles:
if hasattr(bundle, "register_entities"):
getattr(bundle, "register_entities")()

def session(self):
return self.Session()

@property
@contextmanager
def s(self):
try:
yield self.Session()
finally:
self.Session.remove()

def generate_schema(self):
Base.metadata.create_all(self.engine)
66 changes: 0 additions & 66 deletions sqlalchemy_bundle/bundle.py

This file was deleted.

0 comments on commit cd71117

Please sign in to comment.