Some checks failed
Code scanning / CodeQL (push) Failing after 15s
Zulip production suite / Ubuntu 22.04 production build (push) Failing after 26s
Zulip production suite / Debian 12 production install with custom db name and user (push) Has been skipped
Zulip production suite / Ubuntu 22.04 production install and PostgreSQL upgrade with pgroonga (push) Has been skipped
Zulip production suite / Ubuntu 24.04 production install (push) Has been skipped
Zulip production suite / Ubuntu 26.04 production install (push) Has been skipped
Zulip production suite / Debian 13 production install (push) Has been skipped
Zulip production suite / 7.0 Version Upgrade (push) Has been skipped
Zulip production suite / 8.0 Version Upgrade (push) Has been skipped
Zulip production suite / 6.0 Version Upgrade (push) Has been skipped
Zulip production suite / 10.0 Version Upgrade (push) Has been skipped
Zulip production suite / 9.0 Version Upgrade (push) Has been skipped
Zulip production suite / 12.0 Version Upgrade (push) Has been skipped
Zulip production suite / 11.0 Version Upgrade (push) Has been skipped
GitHub Actions Security Analysis with zizmor / zizmor (push) Failing after 3s
Zulip CI / Debian 12 (Python 3.11, backend + documentation) (push) Failing after 26s
Zulip CI / Ubuntu 22.04 (Python 3.10, backend + frontend) (push) Failing after 3s
Zulip CI / Ubuntu 24.04 (Python 3.12, backend) (push) Failing after 25s
Zulip CI / Ubuntu 26.04 (Python 3.14, backend) (push) Failing after 25s
Zulip CI / Debian 13 (Python 3.13, backend) (push) Failing after 28s
Zulip production suite / Required jobs (push) Has been cancelled
Zulip CI / Required jobs (push) Has been cancelled
API Documentation Update Check / check-feature-level-updated (push) Has been cancelled
API Documentation Update Check / notify-if-api-docs-changed (push) Has been cancelled
92 lines
2.1 KiB
Python
Executable File
92 lines
2.1 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
import re
|
|
|
|
import orjson
|
|
import requests
|
|
|
|
EXCLUDED_NOUNS = [
|
|
"Fightings",
|
|
"Followings",
|
|
"Harassments",
|
|
"Injustices",
|
|
"Insults",
|
|
"Outrages",
|
|
"Pleas",
|
|
"Poisons",
|
|
"Prejudices",
|
|
"Punishments",
|
|
"Robberies",
|
|
"Sins",
|
|
"Softwares",
|
|
"Steams",
|
|
"Theses",
|
|
]
|
|
|
|
EXCLUDED_ADVERBS = [
|
|
"Obnoxiously",
|
|
"Rudely",
|
|
"Ruthlessly",
|
|
"Scornfully",
|
|
"Selfishly",
|
|
]
|
|
|
|
EXCLUDED_ADJECTIVES = [
|
|
"Cruel",
|
|
"Destructive",
|
|
"Dishonest",
|
|
"Illegal",
|
|
"Infamous",
|
|
"Shocking",
|
|
]
|
|
|
|
|
|
def clean_word(word: str) -> str:
|
|
return word.replace("\\n", "").replace("'", "").replace("]", "").replace("[", "").strip()
|
|
|
|
|
|
def run() -> None:
|
|
url = "https://raw.githubusercontent.com/jitsi/js-utils/refs/heads/master/random/roomNameGenerator.ts"
|
|
response = requests.get(url)
|
|
content = str(response.content)
|
|
|
|
raw_plural_nouns = re.findall(r"const _PLURALNOUN_.*?=\s*(.*?);", content)
|
|
plural_nouns = raw_plural_nouns[0].split(",")
|
|
cleaned_nouns: list[str] = [
|
|
clean_word(noun).lower() for noun in plural_nouns if clean_word(noun) not in EXCLUDED_NOUNS
|
|
]
|
|
|
|
raw_adverbs = re.findall(r"const _ADVERB_.*?=\s*(.*?);", content)
|
|
adverbs = raw_adverbs[0].split(",")
|
|
cleaned_adverbs: list[str] = [
|
|
clean_word(adverb).lower()
|
|
for adverb in adverbs
|
|
if clean_word(adverb) not in EXCLUDED_ADVERBS
|
|
]
|
|
|
|
raw_adjectives = re.findall(r"const _ADJECTIVE_.*?=\s*(.*?);", content)
|
|
adjectives = raw_adjectives[0].split(",")
|
|
cleaned_adjectives: list[str] = [
|
|
clean_word(adjective).lower()
|
|
for adjective in adjectives
|
|
if clean_word(adjective) not in EXCLUDED_ADJECTIVES
|
|
]
|
|
|
|
word_map = {
|
|
"nouns": cleaned_nouns,
|
|
"adverbs": cleaned_adverbs,
|
|
"adjectives": cleaned_adjectives,
|
|
}
|
|
|
|
file_path = "zerver/lib/demo_organization_words.json"
|
|
with open(file_path, "wb+") as f:
|
|
f.write(
|
|
orjson.dumps(
|
|
word_map,
|
|
option=orjson.OPT_APPEND_NEWLINE | orjson.OPT_INDENT_2 | orjson.OPT_SORT_KEYS,
|
|
)
|
|
)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
run()
|