Changeset - 7894a440e134
[Not reviewed]
default
0 3 2
Søren Løvborg - 9 years ago 2016-06-02 13:21:59
sorenl@unity3d.com
db: add Alembic "migration environment"

Add in kallithea/alembic an unmodified Alembic "migration environment",
as generated by 'alembic init':

Copyright (C) 2009-2016 by Michael Bayer.
Alembic is a trademark of Michael Bayer.

Also update LICENSE, MANIFEST and setup metadata.
5 files changed with 108 insertions and 0 deletions:
0 comments (0 inline, 0 general)
LICENSE.md
Show inline comments
 
Kallithea License
 
=================
 

	
 
Kallithea as a whole is copyrighted by various authors and is licensed under
 
the terms of the GNU General Public License, version 3 (GPLv3), which is a
 
license published by the Free Software Foundation,
 
Inc. [A copy of GPLv3](/COPYING) is included herein.
 

	
 
Some individual files have copyright notices and those who offer changes to
 
those files should update the copyright notices in those specific files if
 
they so chose.
 

	
 
However, the definitive list of copyright holders for this project is kept in
 
[the about page template](kallithea/templates/about.html) so that it is
 
displayed appropriately when Kallithea is installed.  This is the most
 
important place to update copyright notices.
 

	
 
Third-Party Code Incorporated in Kallithea
 
==========================================
 

	
 
Various third-party code under GPLv3-compatible licenses is included as part
 
of Kallithea.
 

	
 

	
 
Alembic
 
-------
 

	
 
Kallithea incorporates an [Alembic](http://alembic.zzzcomputing.com/en/latest/)
 
"migration environment" in `kallithea/alembic`, portions of which is:
 

	
 
Copyright © 2009-2016 by Michael Bayer.
 
Alembic is a trademark of Michael Bayer.
 

	
 
and licensed under the MIT-permissive license, which is
 
[included in this distribution](MIT-Permissive-License.txt).
 

	
 

	
 
Bootstrap
 
---------
 

	
 
Kallithea incorporates parts of the Javascript system called
 
[Bootstrap](http://getbootstrap.com/), which is:
 

	
 
Copyright © 2012 Twitter, Inc.
 

	
 
and licensed under
 
[the Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html).
 

	
 
A copy of the Apache License 2.0 is also included in this distribution in its
 
entirety in the file Apache-License-2.0.txt
 

	
 

	
 

	
 
Codemirror
 
----------
 

	
 
Kallithea incorporates parts of the Javascript system called
 
[Codemirror](http://codemirror.net/), version 4.7.0, which is primarily:
 

	
 
Copyright &copy; 2013-2014 by Marijn Haverbeke <marijnh@gmail.com>
MANIFEST.in
Show inline comments
 
include           Apache-License-2.0.txt
 
include           CONTRIBUTORS
 
include           COPYING
 
include           LICENSE-MERGELY.html
 
include           LICENSE.md
 
include           MIT-Permissive-License.txt
 
include           README.rst
 
include           development.ini
 
recursive-include docs *
 
recursive-include init.d *
 
recursive-include kallithea/alembic *
 
include           kallithea/bin/ldap_sync.conf
 
include           kallithea/bin/template.ini.mako
 
include           kallithea/config/deployment.ini_tmpl
 
recursive-include kallithea/i18n *
 
recursive-include kallithea/public *
 
recursive-include kallithea/templates *
 
recursive-include kallithea/tests/fixtures *
 
recursive-include kallithea/tests/scripts *
 
include           kallithea/tests/test.ini
 
include           kallithea/tests/vcs/aconfig
kallithea/alembic/env.py
Show inline comments
 
new file 100644
 
from __future__ import with_statement
 
from alembic import context
 
from sqlalchemy import engine_from_config, pool
 
from logging.config import fileConfig
 

	
 
# this is the Alembic Config object, which provides
 
# access to the values within the .ini file in use.
 
config = context.config
 

	
 
# Interpret the config file for Python logging.
 
# This line sets up loggers basically.
 
fileConfig(config.config_file_name)
 

	
 
# add your model's MetaData object here
 
# for 'autogenerate' support
 
# from myapp import mymodel
 
# target_metadata = mymodel.Base.metadata
 
target_metadata = None
 

	
 
# other values from the config, defined by the needs of env.py,
 
# can be acquired:
 
# my_important_option = config.get_main_option("my_important_option")
 
# ... etc.
 

	
 

	
 
def run_migrations_offline():
 
    """Run migrations in 'offline' mode.
 

	
 
    This configures the context with just a URL
 
    and not an Engine, though an Engine is acceptable
 
    here as well.  By skipping the Engine creation
 
    we don't even need a DBAPI to be available.
 

	
 
    Calls to context.execute() here emit the given string to the
 
    script output.
 

	
 
    """
 
    url = config.get_main_option("sqlalchemy.url")
 
    context.configure(
 
        url=url, target_metadata=target_metadata, literal_binds=True)
 

	
 
    with context.begin_transaction():
 
        context.run_migrations()
 

	
 

	
 
def run_migrations_online():
 
    """Run migrations in 'online' mode.
 

	
 
    In this scenario we need to create an Engine
 
    and associate a connection with the context.
 

	
 
    """
 
    connectable = engine_from_config(
 
        config.get_section(config.config_ini_section),
 
        prefix='sqlalchemy.',
 
        poolclass=pool.NullPool)
 

	
 
    with connectable.connect() as connection:
 
        context.configure(
 
            connection=connection,
 
            target_metadata=target_metadata
 
        )
 

	
 
        with context.begin_transaction():
 
            context.run_migrations()
 

	
 
if context.is_offline_mode():
 
    run_migrations_offline()
 
else:
 
    run_migrations_online()
kallithea/alembic/script.py.mako
Show inline comments
 
new file 100644
 
"""${message}
 

	
 
Revision ID: ${up_revision}
 
Revises: ${down_revision | comma,n}
 
Create Date: ${create_date}
 

	
 
"""
 

	
 
# revision identifiers, used by Alembic.
 
revision = ${repr(up_revision)}
 
down_revision = ${repr(down_revision)}
 
branch_labels = ${repr(branch_labels)}
 
depends_on = ${repr(depends_on)}
 

	
 
from alembic import op
 
import sqlalchemy as sa
 
${imports if imports else ""}
 

	
 
def upgrade():
 
    ${upgrades if upgrades else "pass"}
 

	
 

	
 
def downgrade():
 
    ${downgrades if downgrades else "pass"}
setup.py
Show inline comments
 
@@ -14,48 +14,49 @@ here = os.path.abspath(os.path.dirname(_
 
def _get_meta_var(name, data, callback_handler=None):
 
    import re
 
    matches = re.compile(r'(?:%s)\s*=\s*(.*)' % name).search(data)
 
    if matches:
 
        if not callable(callback_handler):
 
            callback_handler = lambda v: v
 

	
 
        return callback_handler(eval(matches.groups()[0]))
 

	
 
_meta = open(os.path.join(here, 'kallithea', '__init__.py'), 'rb')
 
_metadata = _meta.read()
 
_meta.close()
 

	
 
callback = lambda V: ('.'.join(map(str, V[:3])) + '.'.join(V[3:]))
 
__version__ = _get_meta_var('VERSION', _metadata, callback)
 
__license__ = _get_meta_var('__license__', _metadata)
 
__author__ = _get_meta_var('__author__', _metadata)
 
__url__ = _get_meta_var('__url__', _metadata)
 
# defines current platform
 
__platform__ = platform.system()
 

	
 
is_windows = __platform__ in ['Windows']
 

	
 
requirements = [
 
    "alembic>=0.8.0,<0.9",
 
    "waitress==0.8.8",
 
    "webob>=1.0.8,<=1.1.1",
 
    "webtest==1.4.3",
 
    "Pylons>=1.0.0,<=1.0.2",
 
    "Beaker==1.6.4",
 
    "WebHelpers==1.3",
 
    "formencode>=1.2.4,<=1.2.6",
 
    "SQLAlchemy>=0.7.10,<1.1",
 
    "Mako>=0.9.0,<=1.0.0",
 
    "pygments>=1.5",
 
    "whoosh>=2.4.0,<=2.5.7",
 
    "celery>=2.2.5,<2.3",
 
    "babel>=0.9.6,<=1.3",
 
    "python-dateutil>=1.5.0,<2.0.0",
 
    "markdown==2.2.1",
 
    "docutils>=0.8.1,<=0.11",
 
    "mock",
 
    "URLObject==2.3.4",
 
    "Routes==1.13",
 
    "pytest>=2.7.0,<3.0",
 
    "pytest-sugar>=0.7.0,<1.0.0",
 
    "dulwich>=0.14.1",
 
    "mercurial>=2.9,<3.9",
 
]
0 comments (0 inline, 0 general)