[repo] straightforward bootstrap sequence. Closes #2841188
* kill fill_schema method which was doing to much different things, in favor of
a deserialize_method which is simply reading schema from the db and returning
it
* set_schema doesn't bother with cubes
This allows to easilly follow what's going on and so to cleanup init_cnxset_pool
to get the following boostrap order:
1. load cubes (implies loading site_cubicweb)
2. load schema
3. init data sources
4. init cnx sets
# pylint: disable=W0622
"""%(distname)s application packaging information"""
modname = '%(cubename)s'
distname = '%(distname)s'
numversion = (0, 1, 0)
version = '.'.join(str(num) for num in numversion)
license = '%(license)s'
author = '%(author)s'
author_email = '%(author-email)s'
description = '%(shortdesc)s'
web = 'http://www.cubicweb.org/project/%%s' %% distname
__depends__ = %(dependencies)s
__recommends__ = {}
classifiers = [
'Environment :: Web Environment',
'Framework :: CubicWeb',
'Programming Language :: Python',
'Programming Language :: JavaScript',
]
from os import listdir as _listdir
from os.path import join, isdir
from glob import glob
THIS_CUBE_DIR = join('share', 'cubicweb', 'cubes', modname)
def listdir(dirpath):
return [join(dirpath, fname) for fname in _listdir(dirpath)
if fname[0] != '.' and not fname.endswith('.pyc')
and not fname.endswith('~')
and not isdir(join(dirpath, fname))]
data_files = [
# common files
[THIS_CUBE_DIR, [fname for fname in glob('*.py') if fname != 'setup.py']],
]
# check for possible extended cube layout
for dname in ('entities', 'views', 'sobjects', 'hooks', 'schema', 'data', 'wdoc', 'i18n', 'migration'):
if isdir(dname):
data_files.append([join(THIS_CUBE_DIR, dname), listdir(dname)])
# Note: here, you'll need to add subdirectories if you want
# them to be included in the debian package