2 # -*- coding: utf-8 -*-
3 # vim: ts=4 et sw=4 sts=4 ai sta:
20 'Graphics & UI Framework',
24 'Network & Connectivity',
25 'Platform Development',
36 roles = [ 'Architects', 'Maintainers', 'Integrators', 'Reviewers' ]
39 # connection to gerrit
40 gerrit_url = "https://review.tizen.org/gerrit/"
41 user, _, password = netrc.netrc().hosts[urlparse.urlparse(gerrit_url).netloc]
42 from gerritrest import GerritREST
43 gerrit=GerritREST(gerrit_url, user, password)
45 for domain in domains_list:
54 group = '%s - %s' % (domain, role)
56 accounts = gerrit.get_group_members(group, recursive=True)
57 for account in accounts:
58 domains[domain][role.lower()].append(format_account(account))
60 with codecs.open("domains.new", "wb", encoding="utf-8") as outfile:
61 dump_all(domains, outfile)
63 def format_account(account):
64 out = account.get('name','')
65 if 'email' in account:
66 out += " <%s>" % account['email']
70 def dump_all(domains, outfp = None):
71 names = sorted(domains.keys())
73 out = dumps_one_domain(domains[name])
78 def dumps_one_domain(domain):
81 out.append("D: %s" % domain['domain'])
82 if 'profiles' in domain:
83 for profile in domain['profiles']:
84 out.append("P: %s" % profile)
85 if 'description' in domain:
86 for line in domain['description']:
87 out.append("O: %s" % line)
88 if 'status' in domain:
89 out.append("S: %s" % domain['status'])
90 for role in ("architects", "maintainers", "integrators", "reviewers"):
92 for person in domain[role]:
93 out.append("%s: %s" % (role[0].upper(), person))
94 if 'homepage' in domain:
95 out.append("H: %s" % domain['homepage'])
96 if 'parent' in domain:
97 out.append("N: %s" % domain['parent'])
98 if 'comments' in domain:
99 for line in domain['comments']:
100 out.append("C: %s" % line)
101 return "\n".join(out)+"\n"
103 if __name__ == '__main__':