aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcin Kuzminski <marcin@python-works.com>2010-10-12 23:17:25 +0200
committerMarcin Kuzminski <marcin@python-works.com>2010-10-12 23:17:25 +0200
commitebb3cf5703f4f9e753cc19fecf62ed480de3c68b (patch)
treeeb01ae797156ce20050415d9c4b3183b407d2bf1
parent04e20c0ff8ae2e3efe07351e6bcaa0265c37d862 (diff)
added password validation, second try on paster setup-app,v1.0.0rc4
docs update, and fixed beaker cache settings in ini files.
-rw-r--r--development.ini41
-rw-r--r--docs/changelog.rst3
-rw-r--r--docs/setup.rst2
-rw-r--r--production.ini41
-rw-r--r--rhodecode/config/deployment.ini_tmpl41
-rw-r--r--rhodecode/lib/db_manage.py33
6 files changed, 92 insertions, 69 deletions
diff --git a/development.ini b/development.ini
index d1be752f..c743e27f 100644
--- 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.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.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.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.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
index 3c230037..13bbbb2d 100644
--- a/docs/changelog.rst
+++ b/docs/changelog.rst
@@ -8,6 +8,9 @@ Changelog
- 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
index d600d9ea..8930b35b 100644
--- 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
index df0f4d28..726b4c86 100644
--- 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.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.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.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.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
index cd8b80b8..29b54ae9 100644
--- 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.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.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.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.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
index e6da6e46..a64be43b 100644
--- 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: