Changeset View
Changeset View
Standalone View
Standalone View
swh/web/api/utils.py
Show First 20 Lines • Show All 51 Lines • ▼ Show 20 Lines | def enrich_object(object): | ||||
Returns: | Returns: | ||||
Object enriched with target_url pointing to the right | Object enriched with target_url pointing to the right | ||||
swh.web.ui.api urls for the pointing object (revision, | swh.web.ui.api urls for the pointing object (revision, | ||||
release, content, directory) | release, content, directory) | ||||
""" | """ | ||||
obj = object.copy() | obj = object.copy() | ||||
if 'target' in obj and 'target_type' in obj: | if 'target' in obj and 'target_type' in obj: | ||||
if obj['target_type'] == 'revision': | if obj['target_type'] in ('revision', 'release', 'directory'): | ||||
obj['target_url'] = reverse('api-revision', | obj['target_url'] = \ | ||||
url_args={'sha1_git': obj['target']}) | reverse('api-%s' % obj['target_type'], | ||||
elif obj['target_type'] == 'release': | |||||
obj['target_url'] = reverse('api-release', | |||||
url_args={'sha1_git': obj['target']}) | url_args={'sha1_git': obj['target']}) | ||||
elif obj['target_type'] == 'content': | elif obj['target_type'] == 'content': | ||||
obj['target_url'] = \ | obj['target_url'] = \ | ||||
reverse('api-content', | reverse('api-content', | ||||
url_args={'q': 'sha1_git:' + obj['target']}) | url_args={'q': 'sha1_git:' + obj['target']}) | ||||
elif obj['target_type'] == 'snapshot': | |||||
elif obj['target_type'] == 'directory': | obj['target_url'] = \ | ||||
obj['target_url'] = reverse('api-directory', | reverse('api-snapshot', | ||||
url_args={'sha1_git': obj['target']}) | url_args={'snapshot_id': obj['target']}) | ||||
if 'author' in obj: | if 'author' in obj: | ||||
author = obj['author'] | author = obj['author'] | ||||
obj['author_url'] = reverse('api-person', | obj['author_url'] = reverse('api-person', | ||||
url_args={'person_id': author['id']}) | url_args={'person_id': author['id']}) | ||||
return obj | return obj | ||||
▲ Show 20 Lines • Show All 132 Lines • Show Last 20 Lines |