Skip to content

Commit a53bdca

Browse files
Add script to gather up past meetups
1 parent 424c3a8 commit a53bdca

File tree

2 files changed

+351
-0
lines changed

2 files changed

+351
-0
lines changed

tools/events/get_past_meetups.py

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import os
2+
import re
3+
import json
4+
# Retrieves URLs of all past meetups
5+
6+
# Directory where the files are located (adjusted to be one level up from /tools/events)
7+
draft_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', '..', 'content')
8+
print("Draft directory: {}".format(draft_dir))
9+
10+
# Updated Regex pattern to match URLs and allow for "_" and "-" in the event name
11+
url_pattern = r"www\.meetup\.com/([a-zA-Z0-9_-]+)/events/?"
12+
13+
# Set to store unique URLs
14+
unique_urls = set()
15+
16+
# Traverse through all files in the draft directory
17+
for root, dirs, files in os.walk(draft_dir):
18+
for file in files:
19+
if file.endswith(".md"): # Ensure we are only processing .md files
20+
file_path = os.path.join(root, file)
21+
print("Processing file: {}".format(file_path))
22+
try:
23+
# Open file in binary mode to handle encoding issues
24+
with open(file_path, 'rb') as f:
25+
content = f.read().decode('utf-8', errors='replace') # Replace invalid characters
26+
# Find all URLs matching the pattern
27+
matches = re.findall(url_pattern, content)
28+
for match in matches:
29+
# Reconstruct the full URL and lowercase the event name
30+
full_url = "https://www.meetup.com/{}/events/".format(match.lower())
31+
unique_urls.add(full_url)
32+
except Exception as e:
33+
print(f"Error processing file {file_path}: {e}")
34+
35+
# Sort URLs based on the alphanumeric part of the URL (case-insensitive sorting)
36+
sorted_urls = sorted(unique_urls, key=lambda url: re.search(url_pattern, url).group(1).lower())
37+
38+
# Output to meetups.json
39+
output_file = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'meetups.json')
40+
with open(output_file, 'w', encoding='utf-8') as json_file:
41+
json.dump(sorted_urls, json_file, indent=4)
42+
43+
print("URLs have been saved to {}".format(output_file))

tools/events/meetups.json

Lines changed: 308 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,308 @@
1+
[
2+
"https://www.meetup.com/8th-light-university/events/",
3+
"https://www.meetup.com/altow-academy/events/",
4+
"https://www.meetup.com/ann-arbor-rust-meetup/events/",
5+
"https://www.meetup.com/ardech-drom-dev/events/",
6+
"https://www.meetup.com/atx-rustaceans/events/",
7+
"https://www.meetup.com/aws-cologne/events/",
8+
"https://www.meetup.com/barcelona-free-software/events/",
9+
"https://www.meetup.com/bay-area-newsql-database-meetup/events/",
10+
"https://www.meetup.com/bcnrust/events/",
11+
"https://www.meetup.com/beijing-infrastructure-meetup/events/",
12+
"https://www.meetup.com/belgium-rust-user-group/events/",
13+
"https://www.meetup.com/belgrade-rust-meetup-group/events/",
14+
"https://www.meetup.com/bellinghamcodes/events/",
15+
"https://www.meetup.com/bergen-html-css-meetup-group/events/",
16+
"https://www.meetup.com/berlin-mozilla-meetup/events/",
17+
"https://www.meetup.com/berlinawsug/events/",
18+
"https://www.meetup.com/bevy-game-development/events/",
19+
"https://www.meetup.com/bitdevsla/events/",
20+
"https://www.meetup.com/blockchaincenter/events/",
21+
"https://www.meetup.com/bordeaux-rust/events/",
22+
"https://www.meetup.com/boston-rust-meetup-25317522anphwzdw/events/",
23+
"https://www.meetup.com/bostonrust/events/",
24+
"https://www.meetup.com/boulder-elixir/events/",
25+
"https://www.meetup.com/boulder-elixir-rust/events/",
26+
"https://www.meetup.com/boulder-rust-meetup/events/",
27+
"https://www.meetup.com/bratislava-rust-meetup-group/events/",
28+
"https://www.meetup.com/brussels-hackerspace/events/",
29+
"https://www.meetup.com/budapest-rust-meetup-group/events/",
30+
"https://www.meetup.com/buffalo-rust-meetup/events/",
31+
"https://www.meetup.com/c-programmer-meetup/events/",
32+
"https://www.meetup.com/cambridge-rust-meetup/events/",
33+
"https://www.meetup.com/cap-hill-rust/events/",
34+
"https://www.meetup.com/charlottesville-rust-meetup/events/",
35+
"https://www.meetup.com/chicago-healthcare-tech-and-ai/events/",
36+
"https://www.meetup.com/chicago-rust-meetup/events/",
37+
"https://www.meetup.com/christchurch-rustlang-meetup-group/events/",
38+
"https://www.meetup.com/cloud-native-new-york/events/",
39+
"https://www.meetup.com/code-mavens/events/",
40+
"https://www.meetup.com/coderrange-endless-programming-languages/events/",
41+
"https://www.meetup.com/columbus-rs/events/",
42+
"https://www.meetup.com/conf42/events/",
43+
"https://www.meetup.com/copenhagen-rust-community/events/",
44+
"https://www.meetup.com/copenhagen-rust-meetup-group/events/",
45+
"https://www.meetup.com/copenhagen-tech-polyglots/events/",
46+
"https://www.meetup.com/dallas-rust/events/",
47+
"https://www.meetup.com/dallasrust/events/",
48+
"https://www.meetup.com/data-ai-online/events/",
49+
"https://www.meetup.com/data-science-on-aws/events/",
50+
"https://www.meetup.com/data-umbrella/events/",
51+
"https://www.meetup.com/data-umbrella-africa2/events/",
52+
"https://www.meetup.com/dedotalk/events/",
53+
"https://www.meetup.com/deep-dish-rust/events/",
54+
"https://www.meetup.com/desert-rustaceans/events/",
55+
"https://www.meetup.com/detroitrust/events/",
56+
"https://www.meetup.com/developing-embedded-systems-in-rhein-main/events/",
57+
"https://www.meetup.com/digital-craftsmanship-nordoberpfalz/events/",
58+
"https://www.meetup.com/dutch-rust-meetup/events/",
59+
"https://www.meetup.com/edmonton-r-user-group-yegrug/events/",
60+
"https://www.meetup.com/everyonecancontribute-cafe/events/",
61+
"https://www.meetup.com/facebook-developer-circle-ruhr/events/",
62+
"https://www.meetup.com/find/events/",
63+
"https://www.meetup.com/finland-rust-meetup/events/",
64+
"https://www.meetup.com/floss-grenoble/events/",
65+
"https://www.meetup.com/fp-eug/events/",
66+
"https://www.meetup.com/freshminds-future-proof-software-development/events/",
67+
"https://www.meetup.com/frontend-developer-meetup-amsterdam/events/",
68+
"https://www.meetup.com/frontend_rm/events/",
69+
"https://www.meetup.com/func-prog-sweden/events/",
70+
"https://www.meetup.com/functional-vilnius/events/",
71+
"https://www.meetup.com/gdg-columbus/events/",
72+
"https://www.meetup.com/google-open-source/events/",
73+
"https://www.meetup.com/goto-nights-berlin/events/",
74+
"https://www.meetup.com/granadagdg/events/",
75+
"https://www.meetup.com/graz-rust-meetup/events/",
76+
"https://www.meetup.com/guru-sp-grupo-de-usuarios-ruby-de-sao-paulo/events/",
77+
"https://www.meetup.com/hackathons-denver/events/",
78+
"https://www.meetup.com/hackerdojo/events/",
79+
"https://www.meetup.com/hackschool-rhein-neckar/events/",
80+
"https://www.meetup.com/helsinki-rust-meetup-group/events/",
81+
"https://www.meetup.com/hk-functional-programming/events/",
82+
"https://www.meetup.com/houston-functional-programming-users-group/events/",
83+
"https://www.meetup.com/hwswfree/events/",
84+
"https://www.meetup.com/indyrs/events/",
85+
"https://www.meetup.com/itgilde-cooperatie-amsterdam-unix-linux-meetups/events/",
86+
"https://www.meetup.com/java-user-group-hessen-jugh/events/",
87+
"https://www.meetup.com/johannesburg-rust-meetup/events/",
88+
"https://www.meetup.com/join-srug/events/",
89+
"https://www.meetup.com/just-code/events/",
90+
"https://www.meetup.com/kaibee/events/",
91+
"https://www.meetup.com/kansai-rust/events/",
92+
"https://www.meetup.com/kyoto-rust/events/",
93+
"https://www.meetup.com/linuxing-in-london/events/",
94+
"https://www.meetup.com/longview-code-and-coffee/events/",
95+
"https://www.meetup.com/los-gatos-rust-reading-group/events/",
96+
"https://www.meetup.com/ludwigslust-rust-meetup/events/",
97+
"https://www.meetup.com/mad-rs/events/",
98+
"https://www.meetup.com/madrust/events/",
99+
"https://www.meetup.com/maibornwolff-software-engineering-netzwerk/events/",
100+
"https://www.meetup.com/meetup-group-boston-nosql-database-group/events/",
101+
"https://www.meetup.com/meetup-group-bxuhnetv/events/",
102+
"https://www.meetup.com/meetup-group-zgphbyet/events/",
103+
"https://www.meetup.com/meetup-paris-ecole-superieur-du-genie-informatique/events/",
104+
"https://www.meetup.com/michigan-python/events/",
105+
"https://www.meetup.com/microsoft-reactor-london/events/",
106+
"https://www.meetup.com/microsoft-reactor-new-york/events/",
107+
"https://www.meetup.com/microsoft-reactor-redmond/events/",
108+
"https://www.meetup.com/microsoft-reactor-san-francisco/events/",
109+
"https://www.meetup.com/microsoft-reactor-sao-paulo/events/",
110+
"https://www.meetup.com/microsoft-reactor-stockholm/events/",
111+
"https://www.meetup.com/microsoft-reactor-toronto/events/",
112+
"https://www.meetup.com/minneapolis-rust-meetup/events/",
113+
"https://www.meetup.com/minneapolis-rust-meetup-group/events/",
114+
"https://www.meetup.com/mob-programming-on-open-source-software/events/",
115+
"https://www.meetup.com/monkey-tech-days/events/",
116+
"https://www.meetup.com/montpellier-rust-meetup/events/",
117+
"https://www.meetup.com/montreal-rust-language-meetup/events/",
118+
"https://www.meetup.com/mozilla-community-dresden/events/",
119+
"https://www.meetup.com/mozilla-meetup-switzerland/events/",
120+
"https://www.meetup.com/mozilla-torino/events/",
121+
"https://www.meetup.com/mucplusplus/events/",
122+
"https://www.meetup.com/music-city-rust-developers/events/",
123+
"https://www.meetup.com/mv-rust-meetup/events/",
124+
"https://www.meetup.com/n-languages-in-n-months-nyc/events/",
125+
"https://www.meetup.com/native-developers-in-ua/events/",
126+
"https://www.meetup.com/neighborhood-math-club/events/",
127+
"https://www.meetup.com/newspace-nyc/events/",
128+
"https://www.meetup.com/oc-rust/events/",
129+
"https://www.meetup.com/ocaml-paris/events/",
130+
"https://www.meetup.com/opentechschool-berlin/events/",
131+
"https://www.meetup.com/oxford-rust-meetup-group/events/",
132+
"https://www.meetup.com/paessler-rust-camp-2024/events/",
133+
"https://www.meetup.com/papers-we-love-vienna/events/",
134+
"https://www.meetup.com/paris-scala-user-group-psug/events/",
135+
"https://www.meetup.com/pdxrust/events/",
136+
"https://www.meetup.com/peerlab-native-developers/events/",
137+
"https://www.meetup.com/perth-rust-meetup-group/events/",
138+
"https://www.meetup.com/phx-android/events/",
139+
"https://www.meetup.com/polkadot-india/events/",
140+
"https://www.meetup.com/portland-solana-blockchain-meetup/events/",
141+
"https://www.meetup.com/prague-containers-meetup/events/",
142+
"https://www.meetup.com/prenzlauer-berg-software-engineers/events/",
143+
"https://www.meetup.com/programming-languages-toronto-meetup/events/",
144+
"https://www.meetup.com/pydelhi/events/",
145+
"https://www.meetup.com/react-berlin-meetup/events/",
146+
"https://www.meetup.com/reactive-application-programmers-in-delhi-ncr/events/",
147+
"https://www.meetup.com/reading-rust-workshop/events/",
148+
"https://www.meetup.com/rust-aarhus/events/",
149+
"https://www.meetup.com/rust-aarhus-organizers/events/",
150+
"https://www.meetup.com/rust-akl/events/",
151+
"https://www.meetup.com/rust-amsterdam/events/",
152+
"https://www.meetup.com/rust-amsterdam-group/events/",
153+
"https://www.meetup.com/rust-and-c-plus-plus-in-cardiff/events/",
154+
"https://www.meetup.com/rust-argentina/events/",
155+
"https://www.meetup.com/rust-atl/events/",
156+
"https://www.meetup.com/rust-atx/events/",
157+
"https://www.meetup.com/rust-barcelona/events/",
158+
"https://www.meetup.com/rust-basel/events/",
159+
"https://www.meetup.com/rust-bay-area/events/",
160+
"https://www.meetup.com/rust-berlin/events/",
161+
"https://www.meetup.com/rust-bern/events/",
162+
"https://www.meetup.com/rust-boulder-denver/events/",
163+
"https://www.meetup.com/rust-breakfast-learn/events/",
164+
"https://www.meetup.com/rust-brisbane/events/",
165+
"https://www.meetup.com/rust-bristol/events/",
166+
"https://www.meetup.com/rust-bulgaria/events/",
167+
"https://www.meetup.com/rust-canberra/events/",
168+
"https://www.meetup.com/rust-chinese-group/events/",
169+
"https://www.meetup.com/rust-cologne-bonn/events/",
170+
"https://www.meetup.com/rust-community-stuttgart/events/",
171+
"https://www.meetup.com/rust-czech-republic/events/",
172+
"https://www.meetup.com/rust-detroit/events/",
173+
"https://www.meetup.com/rust-dev-in-mountain-view/events/",
174+
"https://www.meetup.com/rust-dublin/events/",
175+
"https://www.meetup.com/rust-edi/events/",
176+
"https://www.meetup.com/rust-frankfurt/events/",
177+
"https://www.meetup.com/rust-gdansk/events/",
178+
"https://www.meetup.com/rust-getting-started/events/",
179+
"https://www.meetup.com/rust-girona/events/",
180+
"https://www.meetup.com/rust-gouda/events/",
181+
"https://www.meetup.com/rust-hack-learn-karlsruhe/events/",
182+
"https://www.meetup.com/rust-hangzhou/events/",
183+
"https://www.meetup.com/rust-hungary-meetup/events/",
184+
"https://www.meetup.com/rust-hyderabad/events/",
185+
"https://www.meetup.com/rust-in-blockchain-berlin/events/",
186+
"https://www.meetup.com/rust-in-blockchain-hangzhou/events/",
187+
"https://www.meetup.com/rust-in-blockchain-san-francisco/events/",
188+
"https://www.meetup.com/rust-in-israel/events/",
189+
"https://www.meetup.com/rust-in-vilnius/events/",
190+
"https://www.meetup.com/rust-kw/events/",
191+
"https://www.meetup.com/rust-lang-bucharest-meetup/events/",
192+
"https://www.meetup.com/rust-language-milano/events/",
193+
"https://www.meetup.com/rust-linz/events/",
194+
"https://www.meetup.com/rust-lisbon/events/",
195+
"https://www.meetup.com/rust-london-user-group/events/",
196+
"https://www.meetup.com/rust-los-angeles/events/",
197+
"https://www.meetup.com/rust-lyon/events/",
198+
"https://www.meetup.com/rust-madrid/events/",
199+
"https://www.meetup.com/rust-manchester/events/",
200+
"https://www.meetup.com/rust-medellin/events/",
201+
"https://www.meetup.com/rust-meetup-augsburg/events/",
202+
"https://www.meetup.com/rust-meetup-hamburg/events/",
203+
"https://www.meetup.com/rust-meetup-sofia/events/",
204+
"https://www.meetup.com/rust-melbourne/events/",
205+
"https://www.meetup.com/rust-modern-systems-programming-in-leipzig/events/",
206+
"https://www.meetup.com/rust-montreal/events/",
207+
"https://www.meetup.com/rust-moravia/events/",
208+
"https://www.meetup.com/rust-munich/events/",
209+
"https://www.meetup.com/rust-mx/events/",
210+
"https://www.meetup.com/rust-nairobi/events/",
211+
"https://www.meetup.com/rust-nederland/events/",
212+
"https://www.meetup.com/rust-nerf/events/",
213+
"https://www.meetup.com/rust-nijmegen/events/",
214+
"https://www.meetup.com/rust-noris/events/",
215+
"https://www.meetup.com/rust-nyc/events/",
216+
"https://www.meetup.com/rust-oslo/events/",
217+
"https://www.meetup.com/rust-paris/events/",
218+
"https://www.meetup.com/rust-prague/events/",
219+
"https://www.meetup.com/rust-pune/events/",
220+
"https://www.meetup.com/rust-rhein-main/events/",
221+
"https://www.meetup.com/rust-roma/events/",
222+
"https://www.meetup.com/rust-saar/events/",
223+
"https://www.meetup.com/rust-sacramento/events/",
224+
"https://www.meetup.com/rust-santiago-de-chile/events/",
225+
"https://www.meetup.com/rust-sao-paulo-meetup/events/",
226+
"https://www.meetup.com/rust-seoul-meetup/events/",
227+
"https://www.meetup.com/rust-singapore/events/",
228+
"https://www.meetup.com/rust-study-group/events/",
229+
"https://www.meetup.com/rust-sydney/events/",
230+
"https://www.meetup.com/rust-tampa/events/",
231+
"https://www.meetup.com/rust-tell-halifax/events/",
232+
"https://www.meetup.com/rust-tlv/events/",
233+
"https://www.meetup.com/rust-toronto/events/",
234+
"https://www.meetup.com/rust-trondheim/events/",
235+
"https://www.meetup.com/rust-tunisia/events/",
236+
"https://www.meetup.com/rust-tw/events/",
237+
"https://www.meetup.com/rust-uruguay/events/",
238+
"https://www.meetup.com/rust-utrecht/events/",
239+
"https://www.meetup.com/rust-vienna/events/",
240+
"https://www.meetup.com/rust-warsaw/events/",
241+
"https://www.meetup.com/rust-wellington/events/",
242+
"https://www.meetup.com/rust-wroclaw/events/",
243+
"https://www.meetup.com/rust-wurzburg-meetup-group/events/",
244+
"https://www.meetup.com/rust-zurich/events/",
245+
"https://www.meetup.com/rustaceans-rva/events/",
246+
"https://www.meetup.com/rustcologne/events/",
247+
"https://www.meetup.com/rustdc/events/",
248+
"https://www.meetup.com/rustdelhi/events/",
249+
"https://www.meetup.com/rustfloripa/events/",
250+
"https://www.meetup.com/rustgbg/events/",
251+
"https://www.meetup.com/rustmn/events/",
252+
"https://www.meetup.com/rustny/events/",
253+
"https://www.meetup.com/rustox/events/",
254+
"https://www.meetup.com/rustphilly/events/",
255+
"https://www.meetup.com/ruststhlm/events/",
256+
"https://www.meetup.com/san-diego-rust/events/",
257+
"https://www.meetup.com/san-francisco-rust-study-group/events/",
258+
"https://www.meetup.com/seattle-rust-meetup/events/",
259+
"https://www.meetup.com/seattle-rust-user-group/events/",
260+
"https://www.meetup.com/seoul-substrate-blockchain-meetup/events/",
261+
"https://www.meetup.com/sfugcgn/events/",
262+
"https://www.meetup.com/shop-apotheke-europe/events/",
263+
"https://www.meetup.com/singapore-web3-blockchain-meetup/events/",
264+
"https://www.meetup.com/slowtec/events/",
265+
"https://www.meetup.com/softwerkskammer-ruhrgebiet/events/",
266+
"https://www.meetup.com/solidstatedepot/events/",
267+
"https://www.meetup.com/south-florida-rust-meetup/events/",
268+
"https://www.meetup.com/spbrust/events/",
269+
"https://www.meetup.com/spokane-rust/events/",
270+
"https://www.meetup.com/stacja-it-krakow/events/",
271+
"https://www.meetup.com/stacja-it-trojmiasto/events/",
272+
"https://www.meetup.com/stacja-it-wroclaw/events/",
273+
"https://www.meetup.com/stl-rust/events/",
274+
"https://www.meetup.com/stockholm-google-developer-group/events/",
275+
"https://www.meetup.com/stockholm-rust/events/",
276+
"https://www.meetup.com/stockholmcpp/events/",
277+
"https://www.meetup.com/t-rust-meetup/events/",
278+
"https://www.meetup.com/techatagoda/events/",
279+
"https://www.meetup.com/techceleration/events/",
280+
"https://www.meetup.com/techmeetupostrava/events/",
281+
"https://www.meetup.com/technocracy/events/",
282+
"https://www.meetup.com/tel-aviv-data-science-odsc/events/",
283+
"https://www.meetup.com/the-karlsruhe-functional-programmers-meetup-group/events/",
284+
"https://www.meetup.com/the-south-padre-island-reading-group/events/",
285+
"https://www.meetup.com/thursday-go/events/",
286+
"https://www.meetup.com/tokyo-rust-meetup/events/",
287+
"https://www.meetup.com/toulouse-rust-meetup/events/",
288+
"https://www.meetup.com/triangle-bitdevs/events/",
289+
"https://www.meetup.com/triangle-rust/events/",
290+
"https://www.meetup.com/triangle-rustaceans/events/",
291+
"https://www.meetup.com/turing-community/events/",
292+
"https://www.meetup.com/ucsc-extension-community/events/",
293+
"https://www.meetup.com/utah-rust/events/",
294+
"https://www.meetup.com/utahrust/events/",
295+
"https://www.meetup.com/vancouver-postgres/events/",
296+
"https://www.meetup.com/vancouver-rust/events/",
297+
"https://www.meetup.com/vilnius-rust-go-meetup-group/events/",
298+
"https://www.meetup.com/wasm-rust-meetup/events/",
299+
"https://www.meetup.com/wasmna/events/",
300+
"https://www.meetup.com/wasmsf/events/",
301+
"https://www.meetup.com/wearedevelopers-community/events/",
302+
"https://www.meetup.com/web3devc/events/",
303+
"https://www.meetup.com/webassembly-and-wasmedge/events/",
304+
"https://www.meetup.com/wellington-rust-meetup/events/",
305+
"https://www.meetup.com/women-in-rust/events/",
306+
"https://www.meetup.com/yeducation/events/",
307+
"https://www.meetup.com/zagreb-rust-meetup/events/"
308+
]

0 commit comments

Comments
 (0)