Files
upstream-zulip/tools/build-demo-organization-wordlist
upstream-mirror 64898b2c79
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
snapshot of https://github.com/zulip/zulip.git @ 48c69911c7dd4e03b20552eb3bd77ad8151c1357 (2026-09-15)
2026-09-15 15:05:30 +05:00

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()