members: convert to yaml
The static file format that we've held for a while fails to scale at some point, as run out of ways to split data. This patch converts it all into a YAML file. Change-Id: I4264c663d82077940873e2d3a1564b4e232daa9e
This commit is contained in:
parent
587055d021
commit
b441be89f0
@ -20,7 +20,7 @@ Current Members
|
|||||||
===============
|
===============
|
||||||
|
|
||||||
.. memberstable::
|
.. memberstable::
|
||||||
:datafile: ../../reference/members
|
:datafile: ../../reference/members.yaml
|
||||||
|
|
||||||
Reference documents and Resolutions
|
Reference documents and Resolutions
|
||||||
===================================
|
===================================
|
||||||
|
@ -10,26 +10,11 @@
|
|||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
import logging
|
import yaml
|
||||||
import re
|
|
||||||
|
|
||||||
LOG = logging.getLogger(__name__)
|
|
||||||
|
|
||||||
# Full name (IRC) <E-mail> [expires in] {role}
|
|
||||||
_PATTERN = re.compile('(?P<name>.*)\s+\((?P<irc>.*)\)\s+\<(?P<email>.*)\>\s+\[(?P<date>.*)\](\s+\{(?P<role>.*)\})?')
|
|
||||||
|
|
||||||
|
|
||||||
def parse_members_file(filename):
|
def parse_members_file(filename):
|
||||||
"""Load the members file and return each row as a dictionary.
|
"""Load the members file and return each row as a dictionary.
|
||||||
"""
|
"""
|
||||||
with open(filename, 'r') as f:
|
with open(filename, 'r') as f:
|
||||||
for linum, line in enumerate(f, 1):
|
return yaml.load(f)
|
||||||
line = line.strip()
|
|
||||||
if not line or line.startswith('#'):
|
|
||||||
continue
|
|
||||||
m = _PATTERN.match(line)
|
|
||||||
if not m:
|
|
||||||
LOG.warning('Could not parse line %d of %s: %r' %
|
|
||||||
(linum, filename, line))
|
|
||||||
continue
|
|
||||||
yield m.groupdict()
|
|
||||||
|
@ -1,14 +0,0 @@
|
|||||||
# Full name (IRC) <E-mail> [expires in] {role}
|
|
||||||
Alexandra Settle (asettle) <asettle@suse.com> [March 2020]
|
|
||||||
Doug Hellmann (dhellmann) <doug@doughellmann.com> [October 2019]
|
|
||||||
Ghanshyam Mann (gmann) <gmann@ghanshyammann.com> [October 2019]
|
|
||||||
Graham Hayes (mugsie) <gr@ham.ie> [March 2020]
|
|
||||||
Jean-Philippe Evrard (evrardjp) <jean-philippe@evrard.me> [October 2019]
|
|
||||||
Jeremy Stanley (fungi) <fungi@yuggoth.org> [October 2019]
|
|
||||||
Jim Rollenhagen (jroll) <jim@jimrollenhagen.com> [March 2020]
|
|
||||||
Julia Kreger (TheJulia) <juliaashleykreger@gmail.com> [October 2019]
|
|
||||||
Lance Bragstad (lbragstad) <lbragstad@gmail.com> [October 2019]
|
|
||||||
Mohammed Naser (mnaser) <mnaser@vexxhost.com> [March 2020] {chair}
|
|
||||||
Rico Lin (ricolin) <rico.lin.guanyu@gmail.com> [March 2020]
|
|
||||||
Thierry Carrez (ttx) <thierry@openstack.org> [March 2020]
|
|
||||||
Zane Bitter (zaneb) <zbitter@redhat.com> [March 2020]
|
|
77
reference/members.yaml
Normal file
77
reference/members.yaml
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
- name: Alexandra Settle
|
||||||
|
irc: asettle
|
||||||
|
email: asettle@suse.com
|
||||||
|
date: March 2020
|
||||||
|
role: null
|
||||||
|
|
||||||
|
- name: Doug Hellmann
|
||||||
|
irc: dhellmann
|
||||||
|
email: doug@doughellmann.com
|
||||||
|
date: October 2019
|
||||||
|
role: null
|
||||||
|
|
||||||
|
- name: Ghanshyam Mann
|
||||||
|
irc: gmann
|
||||||
|
email: gmann@ghanshyammann.com
|
||||||
|
date: October 2019
|
||||||
|
role: null
|
||||||
|
|
||||||
|
- name: Graham Hayes
|
||||||
|
irc: mugsie
|
||||||
|
email: gr@ham.ie
|
||||||
|
date: March 2020
|
||||||
|
role: null
|
||||||
|
|
||||||
|
- name: Jean-Philippe Evrard
|
||||||
|
irc: evrardjp
|
||||||
|
email: jean-philippe@evrard.me
|
||||||
|
date: October 2019
|
||||||
|
role: null
|
||||||
|
|
||||||
|
- name: Jeremy Stanley
|
||||||
|
irc: fungi
|
||||||
|
email: fungi@yuggoth.org
|
||||||
|
date: October 2019
|
||||||
|
role: null
|
||||||
|
|
||||||
|
- name: Jim Rollenhagen
|
||||||
|
irc: jroll
|
||||||
|
email: jim@jimrollenhagen.com
|
||||||
|
date: March 2020
|
||||||
|
role: null
|
||||||
|
|
||||||
|
- name: Julia Kreger
|
||||||
|
irc: TheJulia
|
||||||
|
email: juliaashleykreger@gmail.com
|
||||||
|
date: October 2019
|
||||||
|
role: null
|
||||||
|
|
||||||
|
- name: Lance Bragstad
|
||||||
|
irc: lbragstad
|
||||||
|
email: lbragstad@gmail.com
|
||||||
|
date: October 2019
|
||||||
|
role: null
|
||||||
|
|
||||||
|
- name: Mohammed Naser
|
||||||
|
irc: mnaser
|
||||||
|
email: mnaser@vexxhost.com
|
||||||
|
date: March 2020
|
||||||
|
role: chair
|
||||||
|
|
||||||
|
- name: Rico Lin
|
||||||
|
irc: ricolin
|
||||||
|
email: rico.lin.guanyu@gmail.com
|
||||||
|
date: March 2020
|
||||||
|
role: null
|
||||||
|
|
||||||
|
- name: Thierry Carrez
|
||||||
|
irc: ttx
|
||||||
|
email: thierry@openstack.org
|
||||||
|
date: March 2020
|
||||||
|
role: null
|
||||||
|
|
||||||
|
- name: Zane Bitter
|
||||||
|
irc: zaneb
|
||||||
|
email: zbitter@redhat.com
|
||||||
|
date: March 2020
|
||||||
|
role: null
|
@ -26,7 +26,7 @@ def main():
|
|||||||
parser = argparse.ArgumentParser()
|
parser = argparse.ArgumentParser()
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'--member-file',
|
'--member-file',
|
||||||
default='reference/members',
|
default='reference/members.yaml',
|
||||||
help='location of members file, (%(default)s)',
|
help='location of members file, (%(default)s)',
|
||||||
)
|
)
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
|
@ -428,7 +428,7 @@ def main():
|
|||||||
|
|
||||||
tc_members = [
|
tc_members = [
|
||||||
m.get('name')
|
m.get('name')
|
||||||
for m in members.parse_members_file('./reference/members')
|
for m in members.parse_members_file('./reference/members.yaml')
|
||||||
]
|
]
|
||||||
|
|
||||||
gov = governance.Governance.from_local_repo()
|
gov = governance.Governance.from_local_repo()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user