def test_postgres(my, vendor): web = WebContainer.get_web() defaults = DEFAULTS[vendor] default_server = defaults['server'] default_port = defaults['port'] default_user = defaults['user'] default_password = defaults['password'] server = web.get_form_value("server") if not server: server = default_server port = web.get_form_value("port") if not port: port = default_port else: port = int(port) user = web.get_form_value("user") if not user: user = default_user password = web.get_form_value("password") if not password: password = default_password # Need to access remote database create = False impl = DatabaseImpl.get(vendor) exists = impl.database_exists("sthpw", host=server, port=port) if not create: if not exists: my.info['error'] = "Database [sthpw] does not exist. This is required for TACTIC to function." return else: print "Running bootstrap" install_dir = Environment.get_install_dir() python = Config.get_value("services", "python") if not python: python = "python" # create the database and inject the bootstrap data impl.create_database("sthpw", host=server, port=port) cmd = "%s %s/src/pyasm/search/upgrade/%s/bootstrap_load.py" % (python, install_dir, vendor.lower()) os.system(cmd) from pyasm.search import Sql sql = Sql("sthpw", server, user, password=password, vendor=vendor, port=port) try: # attempt sql.connect() sql.do_query("select id from transaction_log limit 1") except Exception, e: my.info['error'] = "Could not connect to database with (vendor=%s, server=%s, user=%s, port=%s)" % (vendor, server, user, port) my.info['message'] = str(e) print e
def test_postgres(my, vendor): web = WebContainer.get_web() defaults = DEFAULTS[vendor] default_server = defaults['server'] default_port = defaults['port'] default_user = defaults['user'] default_password = defaults['password'] server = web.get_form_value("server") if not server: server = default_server port = web.get_form_value("port") if not port: port = default_port else: port = int(port) user = web.get_form_value("user") if not user: user = default_user password = web.get_form_value("password") if not password: password = default_password # Need to access remote database create = False impl = DatabaseImpl.get(vendor) exists = impl.database_exists("sthpw", host=server, port=port) if not create: if not exists: my.info[ 'error'] = "Database [sthpw] does not exist. This is required for TACTIC to function." return else: print "Running bootstrap" install_dir = Environment.get_install_dir() python = Config.get_value("services", "python") if not python: python = "python" # create the database and inject the bootstrap data impl.create_database("sthpw", host=server, port=port) cmd = "%s %s/src/pyasm/search/upgrade/%s/bootstrap_load.py" % ( python, install_dir, vendor.lower()) os.system(cmd) from pyasm.search import Sql sql = Sql("sthpw", server, user, password=password, vendor=vendor, port=port) try: # attempt sql.connect() sql.do_query("select id from transaction_log limit 1") except Exception, e: my.info[ 'error'] = "Could not connect to database with (vendor=%s, server=%s, user=%s, port=%s)" % ( vendor, server, user, port) my.info['message'] = str(e) print e