web/webctl.py
author Sylvain Thénault <sylvain.thenault@logilab.fr>
Thu, 07 Jul 2011 11:33:39 +0200
changeset 7624 ce020f90fb8e
parent 7275 bb3bb8104134
child 8669 62213a34726e
permissions -rw-r--r--
[facet] closes #1806932: test and fix facet bug w/ having query (need rql update)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7132
e9c92bb79787 cleanup
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 5424
diff changeset
     1
# copyright 2003-2011 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
5421
8167de96c523 proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 5415
diff changeset
     2
# contact http://www.logilab.fr/ -- mailto:contact@logilab.fr
8167de96c523 proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 5415
diff changeset
     3
#
8167de96c523 proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 5415
diff changeset
     4
# This file is part of CubicWeb.
8167de96c523 proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 5415
diff changeset
     5
#
8167de96c523 proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 5415
diff changeset
     6
# CubicWeb is free software: you can redistribute it and/or modify it under the
8167de96c523 proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 5415
diff changeset
     7
# terms of the GNU Lesser General Public License as published by the Free
8167de96c523 proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 5415
diff changeset
     8
# Software Foundation, either version 2.1 of the License, or (at your option)
8167de96c523 proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 5415
diff changeset
     9
# any later version.
8167de96c523 proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 5415
diff changeset
    10
#
5424
8ecbcbff9777 replace logilab-common by CubicWeb in disclaimer
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 5421
diff changeset
    11
# CubicWeb is distributed in the hope that it will be useful, but WITHOUT
5421
8167de96c523 proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 5415
diff changeset
    12
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
8167de96c523 proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 5415
diff changeset
    13
# FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more
8167de96c523 proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 5415
diff changeset
    14
# details.
8167de96c523 proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 5415
diff changeset
    15
#
8167de96c523 proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 5415
diff changeset
    16
# You should have received a copy of the GNU Lesser General Public License along
8167de96c523 proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 5415
diff changeset
    17
# with CubicWeb.  If not, see <http://www.gnu.org/licenses/>.
0
b97547f5f1fa Showtime !
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff changeset
    18
"""cubicweb-ctl commands and command handlers common to twisted/modpython
b97547f5f1fa Showtime !
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff changeset
    19
web configuration
7132
e9c92bb79787 cleanup
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 5424
diff changeset
    20
"""
0
b97547f5f1fa Showtime !
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff changeset
    21
b97547f5f1fa Showtime !
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff changeset
    22
__docformat__ = "restructuredtext en"
b97547f5f1fa Showtime !
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff changeset
    23
7274
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    24
import os, os.path as osp
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    25
from shutil import copy
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    26
7132
e9c92bb79787 cleanup
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 5424
diff changeset
    27
from logilab.common.shellutils import ASK
e9c92bb79787 cleanup
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 5424
diff changeset
    28
7274
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    29
from cubicweb import ExecutionError
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    30
from cubicweb.cwctl import CWCTL
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    31
from cubicweb.cwconfig import CubicWebConfiguration as cwcfg
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    32
from cubicweb.toolsutils import Command, CommandHandler, underline_title
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    33
0
b97547f5f1fa Showtime !
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff changeset
    34
7275
bb3bb8104134 put data version md5 into a new url segment to ease static serving
Florent Cayré <florent.cayre@gmail.com>
parents: 7274
diff changeset
    35
try:
bb3bb8104134 put data version md5 into a new url segment to ease static serving
Florent Cayré <florent.cayre@gmail.com>
parents: 7274
diff changeset
    36
    from os import symlink as linkdir
bb3bb8104134 put data version md5 into a new url segment to ease static serving
Florent Cayré <florent.cayre@gmail.com>
parents: 7274
diff changeset
    37
except ImportError:
bb3bb8104134 put data version md5 into a new url segment to ease static serving
Florent Cayré <florent.cayre@gmail.com>
parents: 7274
diff changeset
    38
    from shutil import copytree as linkdir
bb3bb8104134 put data version md5 into a new url segment to ease static serving
Florent Cayré <florent.cayre@gmail.com>
parents: 7274
diff changeset
    39
bb3bb8104134 put data version md5 into a new url segment to ease static serving
Florent Cayré <florent.cayre@gmail.com>
parents: 7274
diff changeset
    40
0
b97547f5f1fa Showtime !
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff changeset
    41
class WebCreateHandler(CommandHandler):
b97547f5f1fa Showtime !
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff changeset
    42
    cmdname = 'create'
1802
d628defebc17 delete-trailing-whitespace + some copyright update
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 1132
diff changeset
    43
7140
ba51dac1115d [c-c create] unification of c-c create and its subcommands handling
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 7132
diff changeset
    44
    def bootstrap(self, cubes, automatic=False, inputlevel=0):
0
b97547f5f1fa Showtime !
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff changeset
    45
        """bootstrap this configuration"""
7140
ba51dac1115d [c-c create] unification of c-c create and its subcommands handling
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 7132
diff changeset
    46
        if not automatic:
ba51dac1115d [c-c create] unification of c-c create and its subcommands handling
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 7132
diff changeset
    47
            print '\n' + underline_title('Generic web configuration')
ba51dac1115d [c-c create] unification of c-c create and its subcommands handling
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 7132
diff changeset
    48
            config = self.config
ba51dac1115d [c-c create] unification of c-c create and its subcommands handling
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 7132
diff changeset
    49
            if config.repo_method == 'pyro' or config.pyro_enabled():
ba51dac1115d [c-c create] unification of c-c create and its subcommands handling
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 7132
diff changeset
    50
                print '\n' + underline_title('Pyro configuration')
ba51dac1115d [c-c create] unification of c-c create and its subcommands handling
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 7132
diff changeset
    51
                config.input_config('pyro', inputlevel)
ba51dac1115d [c-c create] unification of c-c create and its subcommands handling
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 7132
diff changeset
    52
            config.input_config('web', inputlevel)
ba51dac1115d [c-c create] unification of c-c create and its subcommands handling
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 7132
diff changeset
    53
            if ASK.confirm('Allow anonymous access ?', False):
ba51dac1115d [c-c create] unification of c-c create and its subcommands handling
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 7132
diff changeset
    54
                config.global_set_option('anonymous-user', 'anon')
ba51dac1115d [c-c create] unification of c-c create and its subcommands handling
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 7132
diff changeset
    55
                config.global_set_option('anonymous-password', 'anon')
1802
d628defebc17 delete-trailing-whitespace + some copyright update
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 1132
diff changeset
    56
7140
ba51dac1115d [c-c create] unification of c-c create and its subcommands handling
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 7132
diff changeset
    57
    def postcreate(self, *args, **kwargs):
2476
1294a6bdf3bf application -> instance where it makes sense
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 2395
diff changeset
    58
        """hooks called once instance's initialization has been completed"""
7274
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    59
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    60
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    61
class GenStaticDataDir(Command):
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    62
    """Create a directory merging all data directory content from cubes and CW.
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    63
    """
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    64
    name = 'gen-static-datadir'
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    65
    arguments = '<instance> [dirpath]'
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    66
    min_args = 1
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    67
    max_args = 2
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    68
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    69
    options = ()
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    70
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    71
    def run(self, args):
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    72
        appid = args.pop(0)
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    73
        config = cwcfg.config_for(appid)
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    74
        if args:
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    75
            dest = args[0]
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    76
        else:
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    77
            dest = osp.join(config.appdatahome, 'data')
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    78
        if osp.exists(dest):
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    79
            raise ExecutionError('Directory %s already exists. '
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    80
                                 'Remove it first.' % dest)
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    81
        config.quick_start = True # notify this is not a regular start
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    82
        # list all resources (no matter their order)
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    83
        resources = set()
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    84
        for datadir in self._datadirs(config):
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    85
            for dirpath, dirnames, filenames in os.walk(datadir):
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    86
                rel_dirpath = dirpath[len(datadir)+1:]
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    87
                resources.update(osp.join(rel_dirpath, f) for f in filenames)
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    88
        # locate resources and copy them to destination
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    89
        for resource in resources:
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    90
            dirname = osp.dirname(resource)
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    91
            dest_resource = osp.join(dest, dirname)
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    92
            if not osp.isdir(dest_resource):
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    93
                os.makedirs(dest_resource)
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    94
            resource_dir, resource_path = config.locate_resource(resource)
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    95
            copy(osp.join(resource_dir, resource_path), dest_resource)
7275
bb3bb8104134 put data version md5 into a new url segment to ease static serving
Florent Cayré <florent.cayre@gmail.com>
parents: 7274
diff changeset
    96
        # handle md5 version subdirectory
bb3bb8104134 put data version md5 into a new url segment to ease static serving
Florent Cayré <florent.cayre@gmail.com>
parents: 7274
diff changeset
    97
        linkdir(dest, osp.join(dest, config.instance_md5_version()))
7274
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    98
        print ('You can use apache rewrite rule below :\n'
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
    99
               'RewriteRule ^/data/(.*) %s/$1 [L]' % dest)
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
   100
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
   101
    def _datadirs(self, config):
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
   102
        repo = config.repository()
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
   103
        if config._cubes is None:
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
   104
            # web only config
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
   105
            config.init_cubes(repo.get_cubes())
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
   106
        for cube in repo.get_cubes():
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
   107
            cube_datadir = osp.join(cwcfg.cube_dir(cube), 'data')
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
   108
            if osp.isdir(cube_datadir):
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
   109
                yield cube_datadir
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
   110
        yield osp.join(config.shared_dir(), 'data')
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
   111
4653a2a5110b add cwctl command to generate a consolidated data directory with all cubes/ cubicweb data directories content to be delivered statically
Florent Cayré <florent.cayre@gmail.com>
parents: 7140
diff changeset
   112
CWCTL.register(GenStaticDataDir)