more sensible default values to c-c "create" inputs
* db name default to instance name
* db user default to user's login on 'user' mode
* admin account login default to 'admin'
note: dirty hack to make default_instance_id method available
--- a/server/serverconfig.py Thu Nov 12 17:36:15 2009 +0100
+++ b/server/serverconfig.py Fri Nov 13 09:13:30 2009 +0100
@@ -10,7 +10,7 @@
import os
from os.path import join, exists
-from logilab.common.configuration import REQUIRED, Method, Configuration, \
+from logilab.common.configuration import Method, Configuration, \
ini_format_section
from logilab.common.decorators import wproperty, cached, clear_cache
@@ -22,7 +22,7 @@
USER_OPTIONS = (
('login', {'type' : 'string',
- 'default': REQUIRED,
+ 'default': 'admin',
'help': "cubicweb manager account's login "
'(this user will be created)',
'inputlevel': 0,
--- a/server/serverctl.py Thu Nov 12 17:36:15 2009 +0100
+++ b/server/serverctl.py Fri Nov 13 09:13:30 2009 +0100
@@ -133,6 +133,9 @@
config.input_config('pyro', inputlevel)
print '\n'+underline_title('Configuring the sources')
sourcesfile = config.sources_file()
+ # XXX hack to make Method('default_instance_id') usable in db option
+ # defs (in native.py)
+ Configuration.default_instance_id = staticmethod(lambda: config.appid)
sconfig = Configuration(options=SOURCE_TYPES['native'].options)
sconfig.adapter = 'native'
sconfig.input_config(inputlevel=inputlevel)
--- a/server/sources/native.py Thu Nov 12 17:36:15 2009 +0100
+++ b/server/sources/native.py Fri Nov 13 09:13:30 2009 +0100
@@ -18,12 +18,14 @@
from base64 import b64decode, b64encode
from logilab.common.cache import Cache
-from logilab.common.configuration import REQUIRED
+from logilab.common.configuration import Method
from logilab.common.adbh import get_adv_func_helper
+from logilab.common.shellutils import getlogin
from indexer import get_indexer
from cubicweb import UnknownEid, AuthenticationError, Binary, server
+from cubicweb.cwconfig import CubicWebNoAppConfiguration
from cubicweb.server.utils import crypt_password
from cubicweb.server.sqlutils import SQL_PREFIX, SQLAdapterMixIn
from cubicweb.server.rqlannotation import set_qdata
@@ -120,13 +122,13 @@
}),
('db-name',
{'type' : 'string',
- 'default': REQUIRED,
+ 'default': Method('default_instance_id'),
'help': 'database name',
'group': 'native-source', 'inputlevel': 0,
}),
('db-user',
{'type' : 'string',
- 'default': 'cubicweb',
+ 'default': CubicWebNoAppConfiguration.mode == 'user' and getlogin() or 'cubicweb',
'help': 'database user',
'group': 'native-source', 'inputlevel': 0,
}),