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