-
-
Notifications
You must be signed in to change notification settings - Fork 57
/
Copy pathpackages.py
46 lines (41 loc) · 1.28 KB
/
packages.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
PACKAGES: dict[int, int] = {
10000: 450,
40000: 660,
160000: 1060,
640000: 1780,
2560000: 3130,
10240000: 5620,
40960000: 10220,
163840000: 18740,
655360000: 34500,
}
DEDICATED_LIMIT = 160000
DEDICATED_PREFIX = "dedicated:"
HOSTED_PREFIX = "hosted:"
MONTHLY_SUFFIX = "-m"
def package_name(number: int) -> str:
if number < 1_000_000:
return f"{number // 1000}k"
if number < 10_000_000:
return f"{(number // 100_000) / 10}M"
if number < 100_000_000:
return f"{number // 1_000_000}M"
return f"{(number // 10_000_000) * 10}M"
PACKAGE_NAMES: dict[int, str] = {limit: package_name(limit) for limit in PACKAGES}
PACKAGE_UPGRADES: dict[str, str] = {
# Used in tests
"test:test": "test:test",
"test:test-1": "test:test-2",
# Migration to new plans
"dedicated:basic": "dedicated:160k",
"dedicated:medium": "dedicated:160k",
"dedicated:advanced": "dedicated:640k",
"dedicated:enterprise": "dedicated:10m",
}
previous: str | None = None
for name in PACKAGE_NAMES.values():
if previous is not None:
PACKAGE_UPGRADES[f"{DEDICATED_PREFIX}{previous}"] = f"{DEDICATED_PREFIX}{name}"
PACKAGE_UPGRADES[f"{HOSTED_PREFIX}{previous}"] = f"{HOSTED_PREFIX}{name}"
previous = name
del previous