# HG changeset patch # User Sylvain Thénault # Date 1267186321 -3600 # Node ID 3dc3ad02d091cf43e8124ba7fb3371da99716bde # Parent 535705688f4f5519295215346c9ccf9f5772531a avoid module import in c-c plugins module, and remind it diff -r 535705688f4f -r 3dc3ad02d091 cwctl.py --- a/cwctl.py Fri Feb 26 13:10:16 2010 +0100 +++ b/cwctl.py Fri Feb 26 13:12:01 2010 +0100 @@ -4,6 +4,9 @@ %s""" +# *ctl module should limit the number of import to be imported as quickly as +# possible (for cubicweb-ctl reactivity, necessary for instance for usable bash +# completion). So import locally in command helpers. import sys from os import remove, listdir, system, pathsep try: diff -r 535705688f4f -r 3dc3ad02d091 devtools/devctl.py --- a/devtools/devctl.py Fri Feb 26 13:10:16 2010 +0100 +++ b/devtools/devctl.py Fri Feb 26 13:12:01 2010 +0100 @@ -8,32 +8,23 @@ """ __docformat__ = "restructuredtext en" +# *ctl module should limit the number of import to be imported as quickly as +# possible (for cubicweb-ctl reactivity, necessary for instance for usable bash +# completion). So import locally in command helpers. import sys from datetime import datetime from os import mkdir, chdir, getcwd from os.path import join, exists, abspath, basename, normpath, split, isdir -from copy import deepcopy from warnings import warn -from tempfile import NamedTemporaryFile -from subprocess import Popen from logilab.common import STD_BLACKLIST -from logilab.common.modutils import get_module_files -from logilab.common.textutils import splitstrip -from logilab.common.shellutils import ASK from logilab.common.clcommands import register_commands, pop_arg -from yams import schema2dot - from cubicweb.__pkginfo__ import version as cubicwebversion from cubicweb import CW_SOFTWARE_ROOT as BASEDIR, BadCommandUsage from cubicweb.toolsutils import Command, copy_skeleton, underline_title -from cubicweb.schema import CONSTRAINTS from cubicweb.web.webconfig import WebConfiguration from cubicweb.server.serverconfig import ServerConfiguration -from yams import BASE_TYPES -from cubicweb.schema import (META_RTYPES, SCHEMA_TYPES, SYSTEM_RTYPES, - WORKFLOW_TYPES, INTERNAL_TYPES) class DevConfiguration(ServerConfiguration, WebConfiguration): @@ -113,10 +104,11 @@ _generate_schema_pot(w, vreg, schema, libconfig=libconfig, cube=cube) -def _generate_schema_pot(w, vreg, schema, libconfig=None, cube=None): +def _generate_schema_pot(w, vreg, schema, libconfig=None): + from copy import deepcopy from cubicweb.i18n import add_msg from cubicweb.web import uicfg - from cubicweb.schema import META_RTYPES, SYSTEM_RTYPES + from cubicweb.schema import META_RTYPES, SYSTEM_RTYPES, CONSTRAINTS no_context_rtypes = META_RTYPES | SYSTEM_RTYPES w('# schema pot file, generated on %s\n' % datetime.now().strftime('%Y-%m-%d %H:%M:%S')) w('# \n') @@ -287,6 +279,7 @@ import yams from logilab.common.fileutils import ensure_fs_mode from logilab.common.shellutils import globfind, find, rm + from logilab.common.modutils import get_module_files from cubicweb.i18n import extract_from_tal, execute tempdir = tempfile.mkdtemp() potfiles = [join(I18NDIR, 'static-messages.pot')] @@ -501,6 +494,7 @@ def run(self, args): + from logilab.common.shellutils import ASK if len(args) != 1: raise BadCommandUsage("exactly one argument (cube name) is expected") cubename, = args @@ -558,6 +552,8 @@ copy_skeleton(skeldir, cubedir, context) def _ask_for_dependancies(self): + from logilab.common.shellutils import ASK + from logilab.common.textutils import splitstrip includes = [] for stdtype in ServerConfiguration.available_cubes(): answer = ASK.ask("Depends on cube %s? " % stdtype, @@ -661,7 +657,12 @@ ] def run(self, args): + from subprocess import Popen + from tempfile import NamedTemporaryFile from logilab.common.textutils import splitstrip + from yams import schema2dot, BASE_TYPES + from cubicweb.schema import (META_RTYPES, SCHEMA_TYPES, SYSTEM_RTYPES, + WORKFLOW_TYPES, INTERNAL_TYPES) cubes = splitstrip(pop_arg(args, 1)) dev_conf = DevConfiguration(*cubes) schema = dev_conf.load_schema() diff -r 535705688f4f -r 3dc3ad02d091 server/serverctl.py --- a/server/serverctl.py Fri Feb 26 13:10:16 2010 +0100 +++ b/server/serverctl.py Fri Feb 26 13:12:01 2010 +0100 @@ -7,6 +7,9 @@ """ __docformat__ = 'restructuredtext en' +# *ctl module should limit the number of import to be imported as quickly as +# possible (for cubicweb-ctl reactivity, necessary for instance for usable bash +# completion). So import locally in command helpers. import sys import os @@ -17,7 +20,6 @@ from cubicweb import AuthenticationError, ExecutionError, ConfigurationError from cubicweb.toolsutils import Command, CommandHandler, underline_title from cubicweb.server import SOURCE_TYPES -from cubicweb.server.utils import ask_source_config from cubicweb.server.serverconfig import (USER_OPTIONS, ServerConfiguration, SourceConfiguration) @@ -132,6 +134,7 @@ """create an instance by copying files from the given cube and by asking information necessary to build required configuration files """ + from cubicweb.server.utils import ask_source_config config = self.config print underline_title('Configuring the repository') config.input_config('email', inputlevel)