Skip to content

Commit

Permalink
checking require configurations
Browse files Browse the repository at this point in the history
  • Loading branch information
wandenberg committed Mar 18, 2012
1 parent ea00c25 commit 0fa828c
Show file tree
Hide file tree
Showing 2 changed files with 154 additions and 62 deletions.
16 changes: 14 additions & 2 deletions simple_db_migrate/main.py
Expand Up @@ -7,8 +7,7 @@
class Main(object):

def __init__(self, config, sgdb=None):
if not isinstance(config, Config):
raise Exception("config must be an instance of simple_db_migrate.config.Config")
Main._check_configuration(config)

self.cli = CLI()
self.config = config
Expand All @@ -35,6 +34,19 @@ def execute(self):
self._migrate()
self._execution_log("\nDone.\n", "PINK", log_level_limit=1)

@staticmethod
def _check_configuration(config):
if not isinstance(config, Config):
raise Exception("config must be an instance of simple_db_migrate.config.Config")

required_configs = ['database_host', 'database_name', 'database_user', 'database_password', 'database_migrations_dir', 'database_engine', 'schema_version']
if config.get("new_migration", None):
required_configs = ['database_migrations_dir']

for key in required_configs:
#check if config has the key, if do not have will raise exception
config.get(key)

def _create_migration(self):
migrations_dir = self.config.get("database_migrations_dir")
new_file = Migration.create(self.config.get("new_migration", None), migrations_dir[0], self.config.get("db_script_encoding", "utf-8"), self.config.get("utc_timestamp", False))
Expand Down

0 comments on commit 0fa828c

Please sign in to comment.