主程序入口
()
| 1849 | # 主程序 |
| 1850 | # ============================================ |
| 1851 | def main(): |
| 1852 | """主程序入口""" |
| 1853 | parser = create_parser() |
| 1854 | args = parser.parse_args() |
| 1855 | |
| 1856 | # 检查是否为root用户 |
| 1857 | if os.geteuid() != 0: |
| 1858 | print(Colors.error("错误: 此工具需要root权限运行")) |
| 1859 | print("请使用: sudo bt-cli") |
| 1860 | sys.exit(1) |
| 1861 | |
| 1862 | # 如果没有参数,进入交互模式 |
| 1863 | if not args.module: |
| 1864 | try: |
| 1865 | menu = InteractiveMenu() |
| 1866 | menu.show_main_menu() |
| 1867 | except KeyboardInterrupt: |
| 1868 | print("\n") |
| 1869 | print(Colors.info("再见 :-)")) |
| 1870 | sys.exit(0) |
| 1871 | except Exception as e: |
| 1872 | print(Colors.error(f"错误: {e}")) |
| 1873 | sys.exit(1) |
| 1874 | return |
| 1875 | |
| 1876 | # 命令行模式 |
| 1877 | site_mgr = SiteManager() |
| 1878 | db_mgr = DatabaseManager() |
| 1879 | ftp_mgr = FTPManager() |
| 1880 | clean_mgr = DiskCleanManager() |
| 1881 | |
| 1882 | try: |
| 1883 | if args.module == 'site': |
| 1884 | if args.action == 'show': |
| 1885 | site_mgr.list_sites() |
| 1886 | elif args.action == 'add': |
| 1887 | # 构造参数 |
| 1888 | kwargs = {} |
| 1889 | if args.ps: |
| 1890 | kwargs['ps'] = args.ps |
| 1891 | |
| 1892 | # 处理FTP创建 |
| 1893 | if args.ftp_user and args.ftp_pass: |
| 1894 | kwargs['ftp'] = 'true' |
| 1895 | kwargs['ftp_username'] = args.ftp_user |
| 1896 | kwargs['ftp_password'] = args.ftp_pass |
| 1897 | else: |
| 1898 | kwargs['ftp'] = 'false' |
| 1899 | |
| 1900 | # 处理数据库创建 |
| 1901 | if args.db_name: |
| 1902 | kwargs['sql'] = 'true' |
| 1903 | kwargs['datauser'] = args.db_name |
| 1904 | kwargs['datapassword'] = args.db_pass or '' |
| 1905 | else: |
| 1906 | kwargs['sql'] = 'false' |
| 1907 | |
| 1908 | site_mgr.add_site(args.domain, args.path, args.php, **kwargs) |
no test coverage detected