diff --git a/development.ini b/development.ini --- a/development.ini +++ b/development.ini @@ -47,26 +47,27 @@ cache_dir = %(here)s/data #################################### ### BEAKER CACHE #### #################################### - beaker.cache.data_dir=/%(here)s/data/cache/data - beaker.cache.lock_dir=/%(here)s/data/cache/lock - beaker.cache.regions=super_short_term,short_term,long_term,sql_cache_short,sql_cache_med,sql_cache_long - beaker.cache.long_term.type=memory - beaker.cache.long_term.expire=36000 +beaker.cache.data_dir=/%(here)s/data/cache/data +beaker.cache.lock_dir=/%(here)s/data/cache/lock +beaker.cache.regions=super_short_term,short_term,long_term,sql_cache_short,sql_cache_med,sql_cache_long - beaker.cache.short_term.type=memory - beaker.cache.short_term.expire=60 +beaker.cache.super_short_term.type=memory +beaker.cache.super_short_term.expire=10 + +beaker.cache.short_term.type=memory +beaker.cache.short_term.expire=60 - beaker.cache.super_short_term.type=memory - beaker.cache.super_short_term.expire=10 - - beaker.cache.sql_cache_short.type=memory - beaker.cache.sql_cache_short.expire=5 - - beaker.cache.sql_cache_med.type=memory - beaker.cache.sql_cache_med.expire=360 - - beaker.cache.sql_cache_long.type=file - beaker.cache.sql_cache_long.expire=3600 +beaker.cache.long_term.type=memory +beaker.cache.long_term.expire=36000 + +beaker.cache.sql_cache_short.type=memory +beaker.cache.sql_cache_short.expire=5 + +beaker.cache.sql_cache_med.type=memory +beaker.cache.sql_cache_med.expire=360 + +beaker.cache.sql_cache_long.type=file +beaker.cache.sql_cache_long.expire=3600 #################################### ### BEAKER SESSION #### diff --git a/docs/changelog.rst b/docs/changelog.rst --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -8,6 +8,9 @@ 1.0.0rc4 (**2010-10-12**) - fixed python2.5 missing simplejson imports (thanks to Jens Bäckman) - removed cache_manager settings from sqlalchemy meta - added sqlalchemy cache settings to ini files +- validated password length and added second try of failure on paster setup-app +- fixed setup database destroy prompt even when there was no db + 1.0.0rc3 (**2010-10-11**) diff --git a/docs/setup.rst b/docs/setup.rst --- a/docs/setup.rst +++ b/docs/setup.rst @@ -17,7 +17,7 @@ Setting up the application :: - paster setup-app production.ini` + paster setup-app production.ini - This command will create all needed tables and an admin account. When asked for a path You can either use a new location of one with already diff --git a/production.ini b/production.ini --- a/production.ini +++ b/production.ini @@ -47,26 +47,27 @@ cache_dir = %(here)s/data #################################### ### BEAKER CACHE #### #################################### - beaker.cache.data_dir=/%(here)s/data/cache/data - beaker.cache.lock_dir=/%(here)s/data/cache/lock - beaker.cache.regions=super_short_term,short_term,long_term,sql_cache_short,sql_cache_med,sql_cache_long - beaker.cache.long_term.type=memory - beaker.cache.long_term.expire=36000 +beaker.cache.data_dir=/%(here)s/data/cache/data +beaker.cache.lock_dir=/%(here)s/data/cache/lock +beaker.cache.regions=super_short_term,short_term,long_term,sql_cache_short,sql_cache_med,sql_cache_long - beaker.cache.short_term.type=memory - beaker.cache.short_term.expire=60 +beaker.cache.super_short_term.type=memory +beaker.cache.super_short_term.expire=10 + +beaker.cache.short_term.type=memory +beaker.cache.short_term.expire=60 - beaker.cache.super_short_term.type=memory - beaker.cache.super_short_term.expire=10 - - beaker.cache.sql_cache_short.type=memory - beaker.cache.sql_cache_short.expire=5 - - beaker.cache.sql_cache_med.type=memory - beaker.cache.sql_cache_med.expire=360 - - beaker.cache.sql_cache_long.type=file - beaker.cache.sql_cache_long.expire=3600 +beaker.cache.long_term.type=memory +beaker.cache.long_term.expire=36000 + +beaker.cache.sql_cache_short.type=memory +beaker.cache.sql_cache_short.expire=5 + +beaker.cache.sql_cache_med.type=memory +beaker.cache.sql_cache_med.expire=360 + +beaker.cache.sql_cache_long.type=file +beaker.cache.sql_cache_long.expire=3600 #################################### ### BEAKER SESSION #### diff --git a/rhodecode/config/deployment.ini_tmpl b/rhodecode/config/deployment.ini_tmpl --- a/rhodecode/config/deployment.ini_tmpl +++ b/rhodecode/config/deployment.ini_tmpl @@ -48,26 +48,27 @@ app_instance_uuid = ${app_instance_uuid} #################################### ### BEAKER CACHE #### #################################### - beaker.cache.data_dir=/%(here)s/data/cache/data - beaker.cache.lock_dir=/%(here)s/data/cache/lock - beaker.cache.regions=super_short_term,short_term,long_term,sql_cache_short,sql_cache_med,sql_cache_long - beaker.cache.long_term.type=memory - beaker.cache.long_term.expire=36000 +beaker.cache.data_dir=/%(here)s/data/cache/data +beaker.cache.lock_dir=/%(here)s/data/cache/lock +beaker.cache.regions=super_short_term,short_term,long_term,sql_cache_short,sql_cache_med,sql_cache_long - beaker.cache.short_term.type=memory - beaker.cache.short_term.expire=60 +beaker.cache.super_short_term.type=memory +beaker.cache.super_short_term.expire=10 + +beaker.cache.short_term.type=memory +beaker.cache.short_term.expire=60 - beaker.cache.super_short_term.type=memory - beaker.cache.super_short_term.expire=10 - - beaker.cache.sql_cache_short.type=memory - beaker.cache.sql_cache_short.expire=5 - - beaker.cache.sql_cache_med.type=memory - beaker.cache.sql_cache_med.expire=360 - - beaker.cache.sql_cache_long.type=file - beaker.cache.sql_cache_long.expire=3600 +beaker.cache.long_term.type=memory +beaker.cache.long_term.expire=36000 + +beaker.cache.sql_cache_short.type=memory +beaker.cache.sql_cache_short.expire=5 + +beaker.cache.sql_cache_med.type=memory +beaker.cache.sql_cache_med.expire=360 + +beaker.cache.sql_cache_long.type=file +beaker.cache.sql_cache_long.expire=3600 #################################### ### BEAKER SESSION #### diff --git a/rhodecode/lib/db_manage.py b/rhodecode/lib/db_manage.py --- a/rhodecode/lib/db_manage.py +++ b/rhodecode/lib/db_manage.py @@ -56,7 +56,6 @@ class DbManage(object): log.info('checking for existing db in %s', db_path) if os.path.isfile(db_path): self.db_exists = True - log.info('database exist') if not override: raise Exception('database already exists') @@ -65,7 +64,7 @@ class DbManage(object): Create a auth database """ self.check_for_db(override) - if override: + if self.db_exists: log.info("database exist and it's going to be destroyed") if self.tests: destroy = True @@ -79,15 +78,33 @@ class DbManage(object): meta.Base.metadata.create_all(checkfirst=checkfirst) log.info('Created tables for %s', self.dbname) - def admin_prompt(self): + def admin_prompt(self, second=False): if not self.tests: import getpass + + + def get_password(): + password = getpass.getpass('Specify admin password (min 6 chars):') + confirm = getpass.getpass('Confirm password:') + + if password != confirm: + log.error('passwords mismatch') + return False + if len(password) < 6: + log.error('password is to short use at least 6 characters') + return False + + return password + username = raw_input('Specify admin username:') - password = getpass.getpass('Specify admin password:') - confirm = getpass.getpass('Confirm password:') - if password != confirm: - log.error('passwords mismatch') - sys.exit() + + password = get_password() + if not password: + #second try + password = get_password() + if not password: + sys.exit() + email = raw_input('Specify admin email:') self.create_user(username, password, email, True) else: