Skip to content

Commit

Permalink
Merge 37815c2 into 05280ef
Browse files Browse the repository at this point in the history
  • Loading branch information
xychu committed Nov 16, 2015
2 parents 05280ef + 37815c2 commit 2eee00f
Show file tree
Hide file tree
Showing 6 changed files with 212 additions and 61 deletions.
25 changes: 21 additions & 4 deletions pdc_client/plugins/component.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,15 @@
add_create_update_args)


def update_component_contacts(component, component_contacts):
contacts = []
if component_contacts:
for contact in component_contacts:
contact.pop('component')
contacts.append(contact)
component['contacts'] = contacts


class GlobalComponentPlugin(PDCClientPlugin):
def register(self):
self.set_command('global-component')
Expand Down Expand Up @@ -68,6 +77,10 @@ def global_component_info(self, args, global_component_id=None):
global_component_id = global_component_id or args.global_component_id
global_component = self.client['global-components'][global_component_id]._()

component_contacts = get_paged(self.client['global-component-contacts']._,
component=global_component['name'])
update_component_contacts(global_component, component_contacts)

if args.json:
print json.dumps(global_component)
return
Expand All @@ -90,7 +103,7 @@ def global_component_info(self, args, global_component_id=None):
if global_component['contacts']:
print 'Contacts:'
for global_component_contact in global_component['contacts']:
print ''.join(['\tRole:\t', global_component_contact['contact_role']])
print ''.join(['\tRole:\t', global_component_contact['role']])
for name in ('username', 'mail_name'):
if name in global_component_contact['contact']:
print ''.join(['\t\tName:\t', global_component_contact['contact'][name]])
Expand Down Expand Up @@ -185,13 +198,17 @@ def release_component_info(self, args, release_component_id=None):
include_inactive_release=args.include_inactive_release)
else:
release_component = self.client['release-components'][release_component_id]._()
release_id = self._get_release_id(release_component)

component_contacts = get_paged(self.client['release-component-contacts']._,
component=release_component['name'],
release=release_id)
update_component_contacts(release_component, component_contacts)

if args.json:
print json.dumps(release_component)
return

release_id = self._get_release_id(release_component)

fmt = '{:20} {}'
print fmt.format('ID', release_component['id'])
print fmt.format('Name', release_component['name'])
Expand All @@ -210,7 +227,7 @@ def release_component_info(self, args, release_component_id=None):
if release_component['contacts']:
print 'Contacts:'
for release_component_contact in release_component['contacts']:
print ''.join(['\tRole:\t', release_component_contact['contact_role']])
print ''.join(['\tRole:\t', release_component_contact['role']])
for name in ('username', 'mail_name'):
if name in release_component_contact['contact']:
print ''.join(['\t\tName:\t', release_component_contact['contact'][name]])
Expand Down
21 changes: 2 additions & 19 deletions pdc_client/tests/component/data/global_component/detail.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,27 +10,10 @@
"description": "test label description"
}
],
"contacts": [],
"upstream": {
"homepage":"http://test_global_component.org",
"scm_type": "git",
"scm_url": "http://test_global_component.org/git"
},
"contacts": [
{
"url": "http://example.com/global-components/1/contacts/1/",
"contact_role": "test_role_a",
"contact": {
"mail_name": "Test Maillist",
"email": "test_mail@example.com"
}
},
{
"url": "http://example.com/global-components/1/contacts/2/",
"contact_role": "test_role_b",
"contact": {
"username": "Test User",
"email": "test_user@example.com"
}
}
]
}
}
9 changes: 3 additions & 6 deletions pdc_client/tests/component/data/global_component/detail.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,6 @@ Upstream:
scm_type: git
scm_url: http://test_global_component.org/git
Contacts:
Role: test_role_a
Name: Test Maillist
Email: test_mail@example.com
Role: test_role_b
Name: Test User
Email: test_user@example.com
Role: pm
Name: maillist1
Email: maillist1@test.com
19 changes: 1 addition & 18 deletions pdc_client/tests/component/data/release_component/detail.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,24 +11,7 @@
"dist_git_web_url": "http://pkgs.example.com/test_release_component",
"active": true,
"brew_package": null,
"contacts": [
{
"url": "http://example.com/release-components/1/contacts/1/",
"contact_role": "test_role_a",
"contact": {
"mail_name": "Test Maillist",
"email": "test_mail@example.com"
}
},
{
"url": "http://example.com/release-components/1/contacts/2/",
"contact_role": "test_role_b",
"contact": {
"username": "Test User",
"email": "test_user@example.com"
}
}
],
"contacts": [],
"srpm": null,
"type": "rpm"
}
9 changes: 3 additions & 6 deletions pdc_client/tests/component/data/release_component/detail.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,6 @@ Activity active
Type rpm
Srpm Name null
Contacts:
Role: test_role_a
Name: Test Maillist
Email: test_mail@example.com
Role: test_role_b
Name: Test User
Email: test_user@example.com
Role: pm
Name: maillist1
Email: maillist1@test.com
Loading

0 comments on commit 2eee00f

Please sign in to comment.