def get_database_info(alias): """ Returns the dbo object for a sheltermanager.com account or alias. Also returns a dbo with a database property of "DISABLED" for a disabled account, "FAIL" for a problem or "WRONGSERVER" to indicate that the database does not exist on this server. """ alias = re.sub(INVALID_REMOVE, '', alias).lower() dbo = db.DatabaseInfo() dbo.host = "/var/run/postgresql/" # use socket dir to use UNIX sockets to connect to local pgbouncer /var/run/postgresql/ dbo.port = 6432 dbo.dbtype = "POSTGRESQL" dbo.alias = alias a = _get_account_info(alias) if a is None or not a.has_key("user"): dbo.database = "FAIL" return dbo dbo.database = str(a["user"]) dbo.username = dbo.database dbo.password = dbo.database # Is this sm.com account disabled? if a["expired"]: dbo.database = "DISABLED" # Is this the wrong server? if smcom_client.get_this_server() != a["server"]: dbo.database = "WRONGSERVER" al.error("failed login, wrong server: %s not present in %s" % (a["server"], smcom_client.get_this_server())) return dbo
def get_database_info(alias): """ Returns the dbo object for a sheltermanager.com account or alias. Also returns a dbo with a database property of "DISABLED" for a disabled account, "FAIL" for a problem or "WRONGSERVER" to indicate that the database does not exist on this server. """ alias = re.sub(INVALID_REMOVE, '', alias).lower() dbo = asm3.db.get_dbo("POSTGRESQL") dbo.host = "/var/run/postgresql/" # use socket dir to use UNIX sockets to connect to local pgbouncer /var/run/postgresql/ dbo.port = 6432 dbo.dbtype = "POSTGRESQL" dbo.alias = alias a = get_account(alias) if a is None: dbo.database = "FAIL" return dbo dbo.database = str(a["user"]) dbo.username = dbo.database dbo.password = dbo.database # Is this sm.com account disabled or removed from the server? if a["expired"] or a["archived"]: dbo.database = "DISABLED" # Is this the wrong server? if smcom_client.get_this_server() != a["server"]: dbo.database = "WRONGSERVER" asm3.al.error("failed login, wrong server: %s not present in %s" % (a["server"], smcom_client.get_this_server())) return dbo
def get_database_info(alias): """ Returns the dbo object for a sheltermanager.com account or alias. Also returns a dbo with a database property of "DISABLED" for a disabled account, "FAIL" for a problem or "WRONGSERVER" to indicate that the database does not exist on this server. """ alias = re.sub(INVALID_REMOVE, '', alias).lower() dbo = asm3.db.get_dbo("POSTGRESQL") dbo.host = "/var/run/postgresql/" # use socket dir to use UNIX sockets to connect to local pgbouncer /var/run/postgresql/ dbo.port = 6432 dbo.dbtype = "POSTGRESQL" dbo.alias = alias a = get_account(alias) if a is None: dbo.database = "FAIL" return dbo dbo.database = a["user"] dbo.username = dbo.database dbo.password = dbo.database # dbo.alias is used in particular when sending emails to make a friendlier # bounce address. If the account has one, set it here. We used to just set # this on login above, but if they logged in with their account number the # alias was not set. if a["alias"] != "": dbo.alias = a["alias"] # Is this sm.com account disabled or removed from the server? if a["expired"] or a["archived"]: dbo.database = "DISABLED" # Is this the wrong server? if smcom_client.get_this_server() != a["server"]: dbo.database = "WRONGSERVER" asm3.al.error("failed login, wrong server: %s not present in %s" % (a["server"], smcom_client.get_this_server())) return dbo