Merge pull request #24432 from blaggacao/chore/cleanup-frappe-connect-2
chore: cleanup frappe connect II/II
This commit is contained in:
commit
f19c25ec42
12 changed files with 46 additions and 54 deletions
|
|
@ -305,10 +305,6 @@ def init(site: str, sites_path: str = ".", new_site: bool = False, force=False)
|
|||
|
||||
local.initialised = True
|
||||
|
||||
# Set the user as database name if not set in config
|
||||
if local.conf and local.conf.db_name is not None and local.conf.db_user is None:
|
||||
local.conf.db_user = local.conf.db_name
|
||||
|
||||
|
||||
def connect(
|
||||
site: str | None = None, db_name: str | None = None, set_admin_as_user: bool = True
|
||||
|
|
@ -316,7 +312,7 @@ def connect(
|
|||
"""Connect to site database instance.
|
||||
|
||||
:param site: (Deprecated) If site is given, calls `frappe.init`.
|
||||
:param db_name: Optional. Will use from `site_config.json`.
|
||||
:param db_name: (Deprecated) Optional. Will use from `site_config.json`.
|
||||
:param set_admin_as_user: Set Administrator as current user.
|
||||
"""
|
||||
from frappe.database import get_db
|
||||
|
|
@ -329,13 +325,24 @@ def connect(
|
|||
"Instead, explicitly invoke frappe.init(site) prior to calling frappe.connect(), if initializing the site is necessary."
|
||||
)
|
||||
init(site)
|
||||
if db_name:
|
||||
from frappe.utils.deprecations import deprecation_warning
|
||||
|
||||
deprecation_warning(
|
||||
"Calling frappe.connect with the db_name argument is deprecated and will be removed in next major version. "
|
||||
"Instead, explicitly invoke frappe.init(site) with the right config prior to calling frappe.connect(), if necessary."
|
||||
)
|
||||
|
||||
assert db_name or local.conf.db_user, "site must be fully initialized, db_user missing"
|
||||
assert db_name or local.conf.db_name, "site must be fully initialized, db_name missing"
|
||||
assert local.conf.db_password, "site must be fully initialized, db_password missing"
|
||||
|
||||
local.db = get_db(
|
||||
host=local.conf.db_host,
|
||||
port=local.conf.db_port,
|
||||
user=local.conf.db_user or db_name or local.conf.db_name,
|
||||
user=local.conf.db_user or db_name,
|
||||
password=local.conf.db_password,
|
||||
cur_db_name=db_name or local.conf.db_name,
|
||||
cur_db_name=local.conf.db_name or db_name,
|
||||
)
|
||||
if set_admin_as_user:
|
||||
set_user("Administrator")
|
||||
|
|
@ -423,6 +430,11 @@ def get_site_config(sites_path: str | None = None, site_path: str | None = None)
|
|||
os.environ.get("FRAPPE_DB_PORT") or config.get("db_port") or db_default_ports(config["db_type"])
|
||||
)
|
||||
|
||||
# Set the user as database name if not set in config
|
||||
config["db_user"] = (
|
||||
os.environ.get("FRAPPE_DB_USER") or config.get("db_user") or config.get("db_name")
|
||||
)
|
||||
|
||||
return config
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -772,12 +772,11 @@ def run_tests(
|
|||
click.secho(f"bench --site {site} set-config allow_tests true", fg="green")
|
||||
return
|
||||
|
||||
frappe.init(site=site)
|
||||
|
||||
frappe.flags.skip_before_tests = skip_before_tests
|
||||
frappe.flags.skip_test_records = skip_test_records
|
||||
|
||||
ret = frappe.test_runner.main(
|
||||
site,
|
||||
app,
|
||||
module,
|
||||
doctype,
|
||||
|
|
|
|||
|
|
@ -23,17 +23,17 @@ def setup_database(force, verbose=None, no_mariadb_socket=False):
|
|||
)
|
||||
|
||||
|
||||
def bootstrap_database(db_name, verbose=None, source_sql=None):
|
||||
def bootstrap_database(verbose=None, source_sql=None):
|
||||
import frappe
|
||||
|
||||
if frappe.conf.db_type == "postgres":
|
||||
import frappe.database.postgres.setup_db
|
||||
|
||||
return frappe.database.postgres.setup_db.bootstrap_database(db_name, verbose, source_sql)
|
||||
return frappe.database.postgres.setup_db.bootstrap_database(verbose, source_sql)
|
||||
else:
|
||||
import frappe.database.mariadb.setup_db
|
||||
|
||||
return frappe.database.mariadb.setup_db.bootstrap_database(db_name, verbose, source_sql)
|
||||
return frappe.database.mariadb.setup_db.bootstrap_database(verbose, source_sql)
|
||||
|
||||
|
||||
def drop_user_and_database(db_name, db_user):
|
||||
|
|
|
|||
|
|
@ -67,17 +67,17 @@ def drop_user_and_database(
|
|||
dbman.delete_user(db_user)
|
||||
|
||||
|
||||
def bootstrap_database(db_name, verbose, source_sql=None):
|
||||
def bootstrap_database(verbose, source_sql=None):
|
||||
import sys
|
||||
|
||||
frappe.connect(db_name=db_name)
|
||||
frappe.connect()
|
||||
if not check_database_settings():
|
||||
print("Database settings do not match expected values; stopping database setup.")
|
||||
sys.exit(1)
|
||||
|
||||
import_db_from_sql(source_sql, verbose)
|
||||
frappe.connect(db_name=db_name)
|
||||
|
||||
frappe.connect()
|
||||
if "tabDefaultValue" not in frappe.db.get_tables(cached=False):
|
||||
from click import secho
|
||||
|
||||
|
|
|
|||
|
|
@ -29,11 +29,12 @@ def setup_database():
|
|||
root_conn.close()
|
||||
|
||||
|
||||
def bootstrap_database(db_name, verbose, source_sql=None):
|
||||
frappe.connect(db_name=db_name)
|
||||
import_db_from_sql(source_sql, verbose)
|
||||
frappe.connect(db_name=db_name)
|
||||
def bootstrap_database(verbose, source_sql=None):
|
||||
|
||||
frappe.connect()
|
||||
import_db_from_sql(source_sql, verbose)
|
||||
|
||||
frappe.connect()
|
||||
if "tabDefaultValue" not in frappe.db.get_tables():
|
||||
import sys
|
||||
|
||||
|
|
|
|||
|
|
@ -11,10 +11,3 @@ class TestForm(FrappeTestCase):
|
|||
results = get_linked_docs("Role", "System Manager", linkinfo=get_linked_doctypes("Role"))
|
||||
self.assertTrue("User" in results)
|
||||
self.assertTrue("DocType" in results)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import unittest
|
||||
|
||||
frappe.connect()
|
||||
unittest.main()
|
||||
|
|
|
|||
|
|
@ -20,9 +20,10 @@ from frappe.utils.dashboard import sync_dashboards
|
|||
from frappe.utils.synchronization import filelock
|
||||
|
||||
|
||||
def _is_scheduler_enabled() -> bool:
|
||||
def _is_scheduler_enabled(site) -> bool:
|
||||
enable_scheduler = False
|
||||
try:
|
||||
frappe.init(site=site)
|
||||
frappe.connect()
|
||||
enable_scheduler = cint(frappe.db.get_single_value("System Settings", "enable_scheduler"))
|
||||
except Exception:
|
||||
|
|
@ -78,7 +79,7 @@ def _new_site(
|
|||
|
||||
try:
|
||||
# enable scheduler post install?
|
||||
enable_scheduler = _is_scheduler_enabled()
|
||||
enable_scheduler = _is_scheduler_enabled(site)
|
||||
except Exception:
|
||||
enable_scheduler = False
|
||||
|
||||
|
|
@ -170,7 +171,6 @@ def install_db(
|
|||
setup_database(force, verbose, no_mariadb_socket)
|
||||
|
||||
bootstrap_database(
|
||||
db_name=frappe.conf.db_name,
|
||||
verbose=verbose,
|
||||
source_sql=source_sql,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -41,9 +41,6 @@ def send_email(success, service_name, doctype, email_field, error_status=None):
|
|||
|
||||
|
||||
def get_recipients(doctype, email_field):
|
||||
if not frappe.db:
|
||||
frappe.connect()
|
||||
|
||||
return split_emails(frappe.db.get_value(doctype, None, email_field))
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@ def xmlrunner_wrapper(output):
|
|||
|
||||
|
||||
def main(
|
||||
site=None,
|
||||
app=None,
|
||||
module=None,
|
||||
doctype=None,
|
||||
|
|
@ -53,6 +54,10 @@ def main(
|
|||
):
|
||||
global unittest_runner
|
||||
|
||||
frappe.init(site=site)
|
||||
if not frappe.db:
|
||||
frappe.connect()
|
||||
|
||||
if doctype_list_path:
|
||||
app, doctype_list_path = doctype_list_path.split(os.path.sep, 1)
|
||||
with open(frappe.get_app_path(app, doctype_list_path)) as f:
|
||||
|
|
@ -69,9 +74,6 @@ def main(
|
|||
frappe.flags.print_messages = verbose
|
||||
frappe.flags.in_test = True
|
||||
|
||||
if not frappe.db:
|
||||
frappe.connect()
|
||||
|
||||
# workaround! since there is no separate test db
|
||||
frappe.clear_cache()
|
||||
scheduler_disabled_by_user = frappe.utils.scheduler.is_scheduler_disabled(verbose=False)
|
||||
|
|
@ -342,9 +344,6 @@ def _add_test(app, path, filename, verbose, test_suite=None):
|
|||
|
||||
|
||||
def make_test_records(doctype, verbose=0, force=False, commit=False):
|
||||
if not frappe.db:
|
||||
frappe.connect()
|
||||
|
||||
if frappe.flags.skip_test_records:
|
||||
return
|
||||
|
||||
|
|
|
|||
|
|
@ -173,14 +173,18 @@ class BaseTestCommands(FrappeTestCase):
|
|||
cmd_config = {
|
||||
"test_site": TEST_SITE,
|
||||
"admin_password": frappe.conf.admin_password,
|
||||
"root_login": frappe.conf.root_login,
|
||||
"root_password": frappe.conf.root_password,
|
||||
"db_type": frappe.conf.db_type,
|
||||
"db_root_username": frappe.conf.root_login,
|
||||
"db_root_password": frappe.conf.root_password,
|
||||
}
|
||||
|
||||
if not os.path.exists(os.path.join(TEST_SITE, "site_config.json")):
|
||||
cls.execute(
|
||||
"bench new-site {test_site} --admin-password {admin_password} --db-type" " {db_type}",
|
||||
"bench new-site {test_site} "
|
||||
"--admin-password {admin_password} "
|
||||
"--db-root-username {db_root_username} "
|
||||
"--db-root-password {db_root_password} "
|
||||
"--db-type {db_type}",
|
||||
cmd_config,
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -100,10 +100,3 @@ class TestFmtMoney(FrappeTestCase):
|
|||
frappe.db.set_value("Currency", "JPY", "symbol_on_right", 1)
|
||||
self.assertEqual(fmt_money(100.0, format="#,###.##", currency="JPY"), "100.00 ¥")
|
||||
self.assertEqual(fmt_money(100.0, format="#,###.##", currency="USD"), "$ 100.00")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import unittest
|
||||
|
||||
frappe.connect()
|
||||
unittest.main()
|
||||
|
|
|
|||
|
|
@ -215,9 +215,6 @@ def get_translation_dict_from_file(path, lang, app, throw=False) -> dict[str, st
|
|||
|
||||
|
||||
def get_user_translations(lang):
|
||||
if not frappe.db:
|
||||
frappe.connect()
|
||||
|
||||
def _read_from_db():
|
||||
user_translations = {}
|
||||
translations = frappe.get_all(
|
||||
|
|
@ -977,9 +974,6 @@ def get_all_languages(with_language_name: bool = False) -> list:
|
|||
def get_all_language_with_name():
|
||||
return frappe.get_all("Language", ["language_code", "language_name"], {"enabled": 1})
|
||||
|
||||
if not frappe.db:
|
||||
frappe.connect()
|
||||
|
||||
if with_language_name:
|
||||
return frappe.cache.get_value("languages_with_name", get_all_language_with_name)
|
||||
else:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue