In [ ]:
import csv
import os
from collections import namedtuple
KEY = os.getenv('DISCOURSE_KEY')
USER = os.getenv('DISCOURSE_USER')
BASE = 'https://community.lsst.org'
In [ ]:
contacts_path = '/Users/jsick/Downloads/contactdbexport.csv'
Person = namedtuple('Person', ['first', 'last', 'email', 'phone', 'company', 'category', 'role'])
contacts = {}
with open(contacts_path, encoding='utf-8') as f:
reader = csv.reader(f)
_ = next(reader) # skip header
for row in reader:
if len(row) == 1:
continue
p = Person(*[s.strip() for s in row[:7]])
if p.email not in contacts:
contacts[p.email] = {
'name': ' '.join([p.first, p.last]),
'membership': {p.category: p.role}
}
else:
contacts[p.email]['membership'][p.category] = p.role
In [ ]:
groups = []
for _, c in contacts.items():
groups.extend(c['membership'].keys())
groups = set(groups)
print(groups)
In [ ]: