晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
| DIR:/opt/cloudlinux/venv/lib64/python3.11/site-packages/ssa/ssa_utils/ |
| Current File : //opt/cloudlinux/venv/lib64/python3.11/site-packages/ssa/ssa_utils/cmdline_parser.py |
# -*- coding: utf-8 -*-
# Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2021 All Rights Reserved
#
# Licensed under CLOUD LINUX LICENSE AGREEMENT
# http://cloudlinux.com/docs/LICENSE.TXT
"""
This module contains an argparse command line parser
for cloudlinux-ssa-manager and cloudlinux-autotracing
"""
import argparse
import logging
def cmd_parser_manager() -> 'argparse.ArgumentParser':
"""
Command line parser for SSA manager utility using built-in argparse module
:return: parser
"""
parser = argparse.ArgumentParser(prog='cloudlinux-ssa-manager',
description='Utility to manage SSA')
subparsers = parser.add_subparsers(title='Commands', dest='command',
required=True)
set_config_parser = subparsers.add_parser('set-config',
help='Set SSA configuration',
argument_default=argparse.SUPPRESS)
set_config_parser.add_argument('--domains-number', metavar='DOMAINS_NUMBER',
help='Size of TOP list for slow domains')
set_config_parser.add_argument('--request-number', metavar='REQUEST_NUMBER',
help='The threshold value of slow requests number in the period of time to mark URL as a slow one')
set_config_parser.add_argument('--time', metavar='TIME',
help='Period of time in hours required to analyze these requests')
set_config_parser.add_argument('--correlation', metavar='CORRELATION',
help='Flag to enable or disable correlation')
set_config_parser.add_argument('--correlation-coefficient', metavar='CORRELATION_COEFFICIENT',
help='The threshold value of correlation coefficient')
set_config_parser.add_argument('--urls-number', metavar='URLS_NUMBER',
help='Size of TOP list for slow urls')
set_config_parser.add_argument('--requests-duration', metavar='REQUESTS_DURATION',
help='The threshold value of request duration in seconds')
set_config_parser.add_argument('--ignore-list', metavar='IGNORE_LIST',
help='List of URLs or domains that should not be included in the daily report')
set_config_parser.add_argument('--summary-notification-enabled', metavar='SUMMARY_NOTIFICATION',
help='Turn on|off sending the daily report by e-mail')
subparsers.add_parser('get-config', help='Get SSA configuration',
argument_default=argparse.SUPPRESS)
subparsers.add_parser('get-ssa-status', help='Get current status of SSA',
argument_default=argparse.SUPPRESS)
subparsers.add_parser('enable-ssa', help='Enable SSA',
argument_default=argparse.SUPPRESS)
subparsers.add_parser('disable-ssa', help='Disable SSA',
argument_default=argparse.SUPPRESS)
subparsers.add_parser('get-report', help='Get the latest report',
argument_default=argparse.SUPPRESS)
subparsers.add_parser('get-stat', help='Get the SSA statistics',
argument_default=argparse.SUPPRESS)
return parser
def cmd_parser_autotracing_util() -> 'argparse.ArgumentParser':
"""
Command line parser for Autotracing using built-in argparse module
:return: parser
"""
parser = argparse.ArgumentParser(prog='cloudlinux-autotracing',
description='Utility to manage Auto Tracing')
subparsers = parser.add_subparsers(title='Commands', dest='command',
required=True)
e_parser = subparsers.add_parser('enable',
help='Enable Auto Tracing feature')
e_parser.add_argument('--all', action='store_true', default=False,
help='enable for all users')
e_parser.add_argument('user', nargs='?', default=None,
help='enable for a particular user')
d_parser = subparsers.add_parser('disable',
help='Disable Auto Tracing feature')
d_parser.add_argument('--all', action='store_true', default=False,
help='disable for all users')
d_parser.add_argument('user', nargs='?', default=None,
help='disable for a particular user')
s_parser = subparsers.add_parser('status',
help='Get status of Auto Tracing feature')
s_parser.add_argument('--list-disabled', action='store_true',
default=False, help='list disabled users')
s_parser.add_argument('user', nargs='?', default=None,
help='status of a particular user')
return parser
def parse_cmd_arguments(
parser: 'argparse.ArgumentParser') -> 'argparse.Namespace':
"""
Parse arguments with given parser
:param parser: an instance of ArgumentParser
:return: arguments Namespace
"""
try:
args = parser.parse_args()
return args
except SystemExit as e:
logging.error('Invalid utility invocation', extra={'err': str(e)})
raise
|