]> scripts.mit.edu Git - wizard.git/blobdiff - plugins/scripts/wizard_scripts.py
Fix bad qualification, add better error message.
[wizard.git] / plugins / scripts / wizard_scripts.py
index 1dde2bd55b7eb73ee705c8153cfec749e9e023bb..8e582ee14531f577ff96c6ba34d245400a727a96 100644 (file)
@@ -163,6 +163,7 @@ class MysqlStrategy(install.Strategy):
     provides = frozenset(["dsn"])
     def prepare(self):
         """Uses the SQL programs in the scripts locker"""
+        logging.info("Attempting wizard_scripts MySQL strategy")
         if self.application.database != "mysql":
             raise install.StrategyFailed
         try:
@@ -180,6 +181,8 @@ class MysqlStrategy(install.Strategy):
         # race condition
         name = shell.eval("/mit/scripts/sql/bin/get-next-database", os.path.basename(self.dir))
         database = shell.eval("/mit/scripts/sql/bin/create-database", name)
+        if not database:
+            raise CreateDatabaseError
         options.dsn = sqlalchemy.engine.url.URL("mysql", username=username, password=password, host=host, database=database)
 
 class EmailStrategy(install.Strategy):
@@ -194,3 +197,13 @@ class EmailStrategy(install.Strategy):
     def execute(self, options):
         """No-op."""
         options.email = self._user + "@mit.edu"
+
+class CreateDatabaseError(wizard.Error):
+    """Could not create a database with the create-database script."""
+    def __str__(self):
+        return """
+
+ERROR: We were unable to create a database for you: this may indicate
+that you have exceeded your quota of databases or indicate a problem
+with the sql.mit.edu service.  Please mail scripts@mit.edu with this
+error message."""