mirror of
https://github.com/frappe/bench.git
synced 2024-11-16 01:57:08 +00:00
chore: Get rid of import * utils
This commit is contained in:
parent
a2ecb398dd
commit
e08a12477d
@ -267,7 +267,7 @@ def new_app(app, bench_path='.'):
|
||||
|
||||
def install_app(app, bench_path=".", verbose=False, no_cache=False, restart_bench=True, skip_assets=False):
|
||||
from bench.bench import Bench
|
||||
from bench.utils import get_env_cmd
|
||||
from bench.utils.bench import get_env_cmd
|
||||
|
||||
install_text = f'Installing {app}'
|
||||
click.secho(install_text, fg="yellow")
|
||||
@ -288,7 +288,7 @@ def install_app(app, bench_path=".", verbose=False, no_cache=False, restart_benc
|
||||
conf = Bench(bench_path).conf
|
||||
|
||||
if conf.get("developer_mode"):
|
||||
from bench.utils import install_python_dev_dependencies
|
||||
from bench.utils.bench import install_python_dev_dependencies
|
||||
install_python_dev_dependencies(apps=app)
|
||||
|
||||
if not skip_assets:
|
||||
|
@ -1,18 +1,17 @@
|
||||
import os
|
||||
import shutil
|
||||
import sys
|
||||
import typing
|
||||
import logging
|
||||
from typing import MutableSequence
|
||||
from typing import MutableSequence, TYPE_CHECKING
|
||||
|
||||
import bench
|
||||
from bench.exceptions import ValidationError
|
||||
from bench.config.common_site_config import setup_config
|
||||
from bench.utils import paths_in_bench, get_venv_path, exec_cmd, get_env_cmd, is_frappe_app, get_git_version, run_frappe_cmd
|
||||
from bench.utils.bench import validate_app_installed_on_sites, restart_supervisor_processes, restart_systemd_processes, remove_backups_crontab
|
||||
from bench.utils import paths_in_bench, exec_cmd, is_frappe_app, get_git_version, run_frappe_cmd
|
||||
from bench.utils.bench import validate_app_installed_on_sites, restart_supervisor_processes, restart_systemd_processes, remove_backups_crontab, get_venv_path, get_env_cmd
|
||||
|
||||
|
||||
if typing.TYPE_CHECKING:
|
||||
if TYPE_CHECKING:
|
||||
from bench.app import App
|
||||
|
||||
logger = logging.getLogger(bench.PROJECT_NAME)
|
||||
@ -231,8 +230,6 @@ class BenchSetup(Base):
|
||||
return setup_logging(bench_path=self.bench.name)
|
||||
|
||||
def patches(self):
|
||||
import shutil
|
||||
|
||||
shutil.copy(
|
||||
os.path.join(os.path.dirname(os.path.abspath(__file__)), 'patches', 'patches.txt'),
|
||||
os.path.join(self.bench.name, 'patches.txt')
|
||||
|
@ -1,5 +1,6 @@
|
||||
# imports - module imports
|
||||
from bench.utils import run_playbook, setup_sudoers
|
||||
from bench.utils import run_playbook
|
||||
from bench.utils.system import setup_sudoers
|
||||
|
||||
# imports - third party imports
|
||||
import click
|
||||
|
@ -18,7 +18,8 @@ import click
|
||||
@click.option('--verbose',is_flag=True, help="Verbose output during install")
|
||||
def init(path, apps_path, frappe_path, frappe_branch, no_procfile, no_backups, clone_from, verbose, skip_redis_config_generation, clone_without_update, ignore_exist=False, skip_assets=False, python='python3'):
|
||||
import os
|
||||
from bench.utils import init, log
|
||||
from bench.utils import log
|
||||
from bench.utils.system import init
|
||||
|
||||
if not ignore_exist and os.path.exists(path):
|
||||
log(f"Bench instance already exists at {path}", level=2)
|
||||
@ -122,6 +123,6 @@ def include_app_for_update(app_name):
|
||||
def pip(ctx, args):
|
||||
"Run pip commands in bench env"
|
||||
import os
|
||||
from bench.utils import get_env_cmd
|
||||
from bench.utils.bench import get_env_cmd
|
||||
env_py = get_env_cmd('python')
|
||||
os.execv(env_py, (env_py, '-m', 'pip') + args)
|
||||
|
@ -3,7 +3,7 @@ import click
|
||||
|
||||
# imports - module imports
|
||||
from bench.app import pull_apps
|
||||
from bench.utils import post_upgrade, patch_sites, build_assets
|
||||
from bench.utils.bench import post_upgrade, patch_sites, build_assets
|
||||
|
||||
|
||||
@click.command('update', help="Performs an update operation on current bench. Without any flags will backup, pull, setup requirements, build, run patches and restart bench. Using specific flags will only do certain tasks instead of all")
|
||||
@ -19,7 +19,7 @@ from bench.utils import post_upgrade, patch_sites, build_assets
|
||||
@click.option('--force', is_flag=True, help="Forces major version upgrades")
|
||||
@click.option('--reset', is_flag=True, help="Hard resets git branch's to their new states overriding any changes and overriding rebase on pull")
|
||||
def update(pull, apps, patch, build, requirements, restart_supervisor, restart_systemd, no_backup, no_compile, force, reset):
|
||||
from bench.utils import update
|
||||
from bench.utils.bench import update
|
||||
update(pull=pull, apps=apps, patch=patch, build=build, requirements=requirements, restart_supervisor=restart_supervisor, restart_systemd=restart_systemd, backup=not no_backup, compile=not no_compile, force=force, reset=reset)
|
||||
|
||||
|
||||
|
@ -22,8 +22,8 @@ def start(no_dev, concurrency, procfile, no_prefix, man):
|
||||
@click.option('--supervisor', is_flag=True, default=False)
|
||||
@click.option('--systemd', is_flag=True, default=False)
|
||||
def restart(web, supervisor, systemd):
|
||||
from bench.utils import restart_supervisor_processes, restart_systemd_processes
|
||||
from bench.bench import Bench
|
||||
from bench.utils.bench import restart_supervisor_processes, restart_systemd_processes
|
||||
|
||||
bench = Bench(".")
|
||||
|
||||
@ -68,7 +68,7 @@ def set_url_root(site, url_root):
|
||||
@click.command('set-mariadb-host', help="Set MariaDB host for bench")
|
||||
@click.argument('host')
|
||||
def set_mariadb_host(host):
|
||||
from bench.utils import set_mariadb_host
|
||||
from bench.utils.bench import set_mariadb_host
|
||||
set_mariadb_host(host)
|
||||
|
||||
|
||||
@ -78,7 +78,7 @@ def set_redis_cache_host(host):
|
||||
"""
|
||||
Usage: bench set-redis-cache-host localhost:6379/1
|
||||
"""
|
||||
from bench.utils import set_redis_cache_host
|
||||
from bench.utils.bench import set_redis_cache_host
|
||||
set_redis_cache_host(host)
|
||||
|
||||
|
||||
@ -88,7 +88,7 @@ def set_redis_queue_host(host):
|
||||
"""
|
||||
Usage: bench set-redis-queue-host localhost:6379/2
|
||||
"""
|
||||
from bench.utils import set_redis_queue_host
|
||||
from bench.utils.bench import set_redis_queue_host
|
||||
set_redis_queue_host(host)
|
||||
|
||||
|
||||
@ -98,14 +98,14 @@ def set_redis_socketio_host(host):
|
||||
"""
|
||||
Usage: bench set-redis-socketio-host localhost:6379/3
|
||||
"""
|
||||
from bench.utils import set_redis_socketio_host
|
||||
from bench.utils.bench import set_redis_socketio_host
|
||||
set_redis_socketio_host(host)
|
||||
|
||||
|
||||
|
||||
@click.command('download-translations', help="Download latest translations")
|
||||
def download_translations():
|
||||
from bench.utils import download_translations_p
|
||||
from bench.utils.translation import download_translations_p
|
||||
download_translations_p()
|
||||
|
||||
|
||||
@ -119,7 +119,7 @@ def renew_lets_encrypt():
|
||||
@click.argument('site')
|
||||
def backup_site(site):
|
||||
from bench.bench import Bench
|
||||
from bench.utils import backup_site
|
||||
from bench.utils.system import backup_site
|
||||
if site not in Bench(".").sites:
|
||||
print(f'Site `{site}` not found')
|
||||
sys.exit(1)
|
||||
@ -128,7 +128,7 @@ def backup_site(site):
|
||||
|
||||
@click.command('backup-all-sites', help="Backup all sites in current bench")
|
||||
def backup_all_sites():
|
||||
from bench.utils import backup_all_sites
|
||||
from bench.utils.system import backup_all_sites
|
||||
backup_all_sites(bench_path='.')
|
||||
|
||||
|
||||
@ -178,7 +178,7 @@ def find_benches(location):
|
||||
@click.argument('python', type=str)
|
||||
@click.option('--no-backup', 'backup', is_flag=True, default=True)
|
||||
def migrate_env(python, backup=True):
|
||||
from bench.utils import migrate_env
|
||||
from bench.utils.bench import migrate_env
|
||||
migrate_env(python=python, backup=backup)
|
||||
|
||||
|
||||
|
@ -10,7 +10,8 @@ from bench.config.nginx import make_nginx_conf
|
||||
from bench.config.production_setup import service
|
||||
from bench.config.site_config import get_domains, remove_domain, update_site_config
|
||||
from bench.bench import Bench
|
||||
from bench.utils import exec_cmd, update_common_site_config
|
||||
from bench.utils import exec_cmd
|
||||
from bench.utils.bench import update_common_site_config
|
||||
from bench.exceptions import CommandFailedError
|
||||
|
||||
|
||||
|
@ -9,7 +9,8 @@ from bench.config.nginx import make_nginx_conf
|
||||
from bench.config.supervisor import generate_supervisor_config, update_supervisord_config
|
||||
from bench.config.systemd import generate_systemd_config
|
||||
from bench.bench import Bench
|
||||
from bench.utils import exec_cmd, which, fix_prod_setup_perms, get_bench_name, get_cmd_output, log
|
||||
from bench.utils import exec_cmd, which, get_bench_name, get_cmd_output, log
|
||||
from bench.utils.system import fix_prod_setup_perms
|
||||
from bench.exceptions import CommandFailedError
|
||||
|
||||
logger = logging.getLogger(bench.PROJECT_NAME)
|
||||
|
@ -7,6 +7,8 @@ import git
|
||||
import getpass
|
||||
import re
|
||||
from time import sleep
|
||||
|
||||
from bench.exceptions import ValidationError
|
||||
from .config.common_site_config import get_config
|
||||
import click
|
||||
|
||||
|
@ -13,7 +13,7 @@ import click
|
||||
|
||||
# imports - module imports
|
||||
import bench
|
||||
from bench.exceptions import InvalidRemoteException
|
||||
from bench.exceptions import InvalidRemoteException, ValidationError
|
||||
|
||||
|
||||
logger = logging.getLogger(bench.PROJECT_NAME)
|
||||
@ -393,8 +393,22 @@ def is_git_url(url):
|
||||
return bool(re.match(pattern, url))
|
||||
|
||||
|
||||
# to avoid circular imports
|
||||
from .app import *
|
||||
from .bench import *
|
||||
from .system import *
|
||||
from .translation import *
|
||||
def drop_privileges(uid_name='nobody', gid_name='nogroup'):
|
||||
# from http://stackoverflow.com/a/2699996
|
||||
if os.getuid() != 0:
|
||||
# We're not root so, like, whatever dude
|
||||
return
|
||||
|
||||
# Get the uid/gid from the name
|
||||
running_uid = pwd.getpwnam(uid_name).pw_uid
|
||||
running_gid = grp.getgrnam(gid_name).gr_gid
|
||||
|
||||
# Remove group privileges
|
||||
os.setgroups([])
|
||||
|
||||
# Try setting the new uid/gid
|
||||
os.setgid(running_gid)
|
||||
os.setuid(running_uid)
|
||||
|
||||
# Ensure a very conservative umask
|
||||
os.umask(0o22)
|
||||
|
@ -135,27 +135,6 @@ def backup_all_sites(bench_path='.'):
|
||||
backup_site(site, bench_path=bench_path)
|
||||
|
||||
|
||||
def drop_privileges(uid_name='nobody', gid_name='nogroup'):
|
||||
# from http://stackoverflow.com/a/2699996
|
||||
if os.getuid() != 0:
|
||||
# We're not root so, like, whatever dude
|
||||
return
|
||||
|
||||
# Get the uid/gid from the name
|
||||
running_uid = pwd.getpwnam(uid_name).pw_uid
|
||||
running_gid = grp.getgrnam(gid_name).gr_gid
|
||||
|
||||
# Remove group privileges
|
||||
os.setgroups([])
|
||||
|
||||
# Try setting the new uid/gid
|
||||
os.setgid(running_gid)
|
||||
os.setuid(running_uid)
|
||||
|
||||
# Ensure a very conservative umask
|
||||
os.umask(0o22)
|
||||
|
||||
|
||||
def fix_prod_setup_perms(bench_path='.', frappe_user=None):
|
||||
from glob import glob
|
||||
from bench.bench import Bench
|
||||
|
Loading…
Reference in New Issue
Block a user