diff --git a/my_activity.py b/my_activity.py index 19b303b5b..66edf4210 100755 --- a/my_activity.py +++ b/my_activity.py @@ -70,6 +70,7 @@ rietveld_instances = [ 'supports_owner_modified_query': True, 'requires_auth': False, 'email_domain': 'chromium.org', + 'short_url_protocol': 'https', }, { 'url': 'chromereviews.googleplex.com', @@ -96,10 +97,12 @@ gerrit_instances = [ { 'url': 'chromium-review.googlesource.com', 'shorturl': 'crrev.com/c', + 'short_url_protocol': 'https', }, { 'url': 'chrome-internal-review.googlesource.com', 'shorturl': 'crrev.com/i', + 'short_url_protocol': 'https', }, { 'url': 'android-review.googlesource.com', @@ -110,6 +113,7 @@ google_code_projects = [ { 'name': 'chromium', 'shorturl': 'crbug.com', + 'short_url_protocol': 'https', }, { 'name': 'google-breakpad', @@ -299,11 +303,14 @@ class MyActivity(object): ret['reviewers'] = set(issue['reviewers']) - shorturl = instance['url'] if 'shorturl' in instance: - shorturl = instance['shorturl'] + url = instance['shorturl'] + protocol = instance.get('short_url_protocol', 'http') + else: + url = instance['url'] + protocol = 'https' - ret['review_url'] = 'http://%s/%d' % (shorturl, issue['issue']) + ret['review_url'] = '%s://%s/%d' % (protocol, url, issue['issue']) # Rietveld sometimes has '\r\n' instead of '\n'. ret['header'] = issue['description'].replace('\r', '').split('\n')[0] @@ -388,10 +395,13 @@ class MyActivity(object): '+{insertions},-{deletions}', **issue) ret['status'] = issue['status'] - ret['review_url'] = issue['url'] if 'shorturl' in instance: - ret['review_url'] = 'http://%s/%s' % (instance['shorturl'], - issue['number']) + protocol = instance.get('short_url_protocol', 'http') + ret['review_url'] = '%s://%s/%s' % (protocol, instance['shorturl'], + issue['number']) + else: + ret['review_url'] = issue['url'] + ret['header'] = issue['subject'] ret['owner'] = issue['owner']['email'] ret['author'] = ret['owner'] @@ -425,12 +435,14 @@ class MyActivity(object): '+{insertions},-{deletions}', **issue) ret['status'] = issue['status'] - ret['review_url'] = 'https://%s/%s' % (instance['url'], issue['_number']) if 'shorturl' in instance: - # TODO(deymo): Move this short link to https once crosreview.com supports - # it. - ret['review_url'] = 'http://%s/%s' % (instance['shorturl'], - issue['_number']) + protocol = instance.get('short_url_protocol', 'http') + url = instance['shorturl'] + else: + protocol = 'https' + url = instance['url'] + ret['review_url'] = '%s://%s/%s' % (protocol, url, issue['_number']) + ret['header'] = issue['subject'] ret['owner'] = issue['owner']['email'] ret['author'] = ret['owner'] @@ -487,7 +499,8 @@ class MyActivity(object): items = content['items'] for item in items: if instance.get('shorturl'): - item_url = 'https://%s/%d' % (instance['shorturl'], item['id']) + protocol = instance.get('short_url_protocol', 'http') + item_url = '%s://%s/%d' % (protocol, instance['shorturl'], item['id']) else: item_url = 'https://bugs.chromium.org/p/%s/issues/detail?id=%d' % ( instance['name'], item['id']) @@ -502,9 +515,6 @@ class MyActivity(object): 'labels': [], 'components': [] } - if 'shorturl' in instance: - issue['url'] = 'http://%s/%d' % (instance['shorturl'], item['id']) - if 'owner' in item: issue['owner'] = item['owner']['name'] else: @@ -902,7 +912,7 @@ def main(): logging.info('Printing output to "%s"', options.output) sys.stdout = output_file except (IOError, OSError) as e: - logging.error('Unable to write output: %s', e) + logging.error('Unable to write output: %s', e) else: if options.json: my_activity.dump_json()