晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。   林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。   见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝)   既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。   南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。 sh-3ll

HOME


sh-3ll 1.0
DIR:/opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/myimunify/
Upload File :
Current File : //opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/myimunify/billing.py
from dataclasses import dataclass, asdict
from defence360agent.contracts import config


@dataclass
class MILicenseType:
    FREEMIUM = "Freemium"


@dataclass
class IncompatibilityID:
    """
    Contains unique incompatibilities IDs for a billing
    """

    UNSUPPORTED_LICENSE = "LICENSE_IS_NOT_SUPPORTED"


@dataclass
class CompatibilityIssue:
    """
    Generic class for keeping compatibility issues with WHMCS
    """

    type: str
    description: str

    @property
    def dict_repr(self):
        return asdict(self)


def get_license_type():
    if config.is_mi_freemium_license():
        return MILicenseType.FREEMIUM
    return None


async def collect_billing_incompatibilities():
    """
    Collects all incompatibilities for WHMCS:
    1. No Freemium license means WHMCS cannot configure current server
    2. ....
    """
    issues = []
    if get_license_type() != MILicenseType.FREEMIUM:
        issues.append(
            CompatibilityIssue(
                type=IncompatibilityID.UNSUPPORTED_LICENSE,
                description=(
                    "There is no supported MyImunify license on the server"
                ),
            ).dict_repr
        )
    return issues