删除网站 Args: site_id: 网站ID site_name: 网站名称 **kwargs: 其他参数,如 webname, ftp, database, path
(self, site_id: int = None, site_name: str = None, **kwargs)
| 242 | print(Colors.error(f"添加网站失败: {str(e)}")) |
| 243 | |
| 244 | def delete_site(self, site_id: int = None, site_name: str = None, **kwargs): |
| 245 | """ |
| 246 | 删除网站 |
| 247 | |
| 248 | Args: |
| 249 | site_id: 网站ID |
| 250 | site_name: 网站名称 |
| 251 | **kwargs: 其他参数,如 webname, ftp, database, path |
| 252 | """ |
| 253 | try: |
| 254 | # 如果提供的是网站名称,查询ID |
| 255 | if site_name and not site_id: |
| 256 | site_info = public.M('sites').where('name=?', (site_name,)).find() |
| 257 | if not site_info: |
| 258 | print(Colors.error(f"网站不存在: {site_name}")) |
| 259 | return |
| 260 | site_id = site_info['id'] |
| 261 | |
| 262 | if site_id and not site_name: |
| 263 | site_info = public.M('sites').where('id=?', (site_id,)).find() |
| 264 | if not site_info: |
| 265 | print(Colors.error(f"网站不存在: {site_id}")) |
| 266 | return |
| 267 | site_name = site_info['name'] |
| 268 | |
| 269 | if not site_id and not site_name: |
| 270 | print(Colors.error("请提供网站ID或网站名称")) |
| 271 | return |
| 272 | |
| 273 | # 确认删除 |
| 274 | path_confirm = input(Colors.warning(f"是否删除网站目录)? [y/N]: ")) |
| 275 | if path_confirm.lower() != 'y': |
| 276 | path_check = 0 |
| 277 | else: |
| 278 | path_check = 1 |
| 279 | |
| 280 | ftp_confirm = input(Colors.warning(f"是否删除FTP账户)? [y/N]: ")) |
| 281 | if ftp_confirm.lower() != 'y': |
| 282 | ftp_check = 0 |
| 283 | else: |
| 284 | ftp_check = 1 |
| 285 | |
| 286 | database_confirm = input(Colors.warning(f"是否删除数据库)? [y/N]: ")) |
| 287 | if database_confirm.lower() != 'y': |
| 288 | database_check = 0 |
| 289 | else: |
| 290 | database_check = 1 |
| 291 | |
| 292 | confirm = input(Colors.warning(f"确认删除网站 (ID: {site_id})? [y/N]: ")) |
| 293 | if confirm.lower() != 'y': |
| 294 | print("已取消") |
| 295 | return |
| 296 | |
| 297 | # 构造参数 |
| 298 | args = public.dict_obj() |
| 299 | args.id = site_id |
| 300 | args.webname = site_name |
| 301 | args.ftp = ftp_check |