Coverage for frappe_manager / __init__.py: 100%

37 statements  

« prev     ^ index     » next       coverage.py v7.13.5, created at 2026-07-02 18:13 +0530

1import os 

2from enum import Enum 

3from pathlib import Path 

4from typing import Optional 

5 

6# Examples are now provided using typer-examples decorators and installed per Typer app. 

7 

8_home_env = os.environ.get("FRAPPE_MANAGER_HOME", "") 

9CLI_DIR = Path(_home_env) if _home_env else Path.home() / "frappe" 

10CLI_FM_CONFIG_PATH = CLI_DIR / "fm_config.toml" 

11CLI_SITES_ARCHIVE = CLI_DIR / "archived" 

12CLI_LOG_DIRECTORY = CLI_DIR / "logs" 

13CLI_BENCHES_DIRECTORY = CLI_DIR / "sites" 

14CLI_SERVICES_DIRECTORY = CLI_DIR / "services" 

15CLI_CACHE_PATH = Path.home() / ".cache" / "fm" 

16CLI_RECENT_USED_SITES_CACHE_PATH = CLI_CACHE_PATH / "recent_sites.json" 

17 

18CLI_SERVICES_NGINX_PROXY_DIR = CLI_SERVICES_DIRECTORY / "nginx-proxy" 

19CLI_SERVICES_NGINX_PROXY_SSL_DIR = CLI_SERVICES_NGINX_PROXY_DIR / "ssl" 

20 

21CLI_BENCH_CONFIG_FILE_NAME = "bench_config.toml" 

22SSL_RENEW_BEFORE_DAYS = 30 

23CLI_DEFAULT_DELIMETER = "__" 

24CLI_SITE_NAME_DELIMETER = "_" 

25 

26 

27DEFAULT_EXTENSIONS = [ 

28 # Debugger 

29 "ms-python.debugpy", 

30 "rioj7.command-variable", 

31 # Python 

32 "ms-python.python", 

33 "charliermarsh.ruff", 

34 # JavaScript/Web 

35 "dbaeumer.vscode-eslint", 

36 "esbenp.prettier-vscode", 

37] 

38 

39 

40class SiteServicesEnum(str, Enum): 

41 frappe = "frappe" 

42 nginx = "nginx" 

43 mariadb = "mariadb" 

44 redis_queue = "redis-queue" 

45 redis_cache = "redis-cache" 

46 schedule = "schedule" 

47 socketio = "socketio" 

48 default_worker = "default-worker" 

49 short_worker = "short-worker" 

50 long_worker = "long-worker" 

51 adminer = "adminer" 

52 mailpit = "mailpit" 

53 

54 

55STABLE_APP_BRANCH_MAPPING_LIST = { 

56 "frappe": "version-16", 

57 "erpnext": "version-16", 

58 "hrms": "version-16", 

59} 

60 

61 

62class EnableDisableOptionsEnum(str, Enum): 

63 enable = "enable" 

64 disable = "disable"