From d5dfbcf2aaaf7462f5185deb88d73b101b952f89 Mon Sep 17 00:00:00 2001 From: Hasan Wan Date: Mon, 20 Aug 2012 14:32:35 +0800 Subject: [PATCH] OBS_GIT data clean up, show SR comments in Gerrit messages Change-Id: I5af14a4b2b0897d29f436756a642c04adfef73ed Signed-off-by: Hasan Wan --- request.py | 108 +++++++++++++++++++++++++++++++---------------------- requests/mailer.py | 4 +- 2 files changed, 65 insertions(+), 47 deletions(-) diff --git a/request.py b/request.py index 9944281..2c0641c 100644 --- a/request.py +++ b/request.py @@ -46,29 +46,40 @@ def tag_info(prjdir, tag): def OBS_Git_data(event_fields): - obs_fields_mapping = { "targetpackage": "OBS_package", - "targetproject": "OBS_project", - "sourcepackage": "OBS_package_src", - "sourceproject": "OBS_project_src", - "deletepackage": "OBS_package_del", - "deleteproject": "OBS_project_del", - "sender": "reviewer", - "type": "event_type", - "time": "timestamp", - "id": "request_id" - } - - mapping = {"Submitter" : 'author_email', - "Comments" : "comments", - "Tag" : "tag", + obs_fields_mapping = {'author': 'obs_req_author', + 'comment': 'obs_req_comment', + 'deletepackage': 'obs_req_pkg_del', + 'deleteproject': 'obs_req_prj_del', + 'description': 'obs_req_desp', + 'id': 'obs_req_id', + 'oldstate': 'obs_req_oldstate', + 'origintype': 'obs_req_origintype', + 'person': 'obs_req_person', + 'role': 'obs_req_role', + 'sender': 'obs_req_sender', + 'sourcepackage': 'obs_req_pkg_src', + 'sourceproject': 'obs_req_prj_src', + 'sourcerevision': 'obs_req_srcrev', + 'state': 'obs_req_state', + 'targetpackage': 'obs_req_pkg', + 'targetproject': 'obs_req_prj', + 'time': 'obs_req_time', + 'type': 'obs_req_type', + 'when': 'obs_req_when', + 'who': 'obs_req_who' + } + + mapping = {"Submitter" : 'git_author_email', + "Comments" : "git_comments", + "Tag" : "git_tag", "Git project" : "git_project", - "Commit" : "commit_subj" + "Commit" : "git_commit_subj" } ret_data = {} for key in obs_fields_mapping.keys(): - ret_data[obs_fields_mapping[key]] = event_fields[key] + ret_data[obs_fields_mapping[key]] = event_fields.get(key) desp_list = [] @@ -76,10 +87,15 @@ def OBS_Git_data(event_fields): for section in description.split('\n\n'): entry = {} for line in section.split('\n'): - key, value = line.split(':') - entry[mapping[key.strip()]] = value.strip() - - tag = tag_info(entry['git_project'], entry['tag']) + try: + key, value = line.split(':') + entry[mapping[key.strip()]] = value.strip() + except: + print '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!' + print 'key:value %s:%s' %(key, value) + pass + + tag = tag_info(entry['git_project'], entry['git_tag']) entry.update(tag) desp_list.append(entry) @@ -89,6 +105,12 @@ def OBS_Git_data(event_fields): ret_data['descriptions'] = desp_list ret_data.update(new_desp) + + # Database records + print '########################################' + import pprint + pp=pprint.PrettyPrinter(indent=4) + print pp.pprint(ret_data) return ret_data def request_accepted(data, gerrit, gitprj): @@ -101,17 +123,17 @@ def request_accepted(data, gerrit, gitprj): '- Git project: %s\n' \ '- Tag:%s\n' \ '- Commit: %s\n' \ - '- Request URL:%s' %( data['OBS_project'], - data['OBS_package'], - data["reviewer"], - data["message"], + '- Request URL:%s' %( data['obs_req_prj'], + data['obs_req_pkg'], + data["obs_req_sender"], + data["obs_req_comment"], data['git_project'], - data["tag"], - data['commit_subj'], - request_url(data['request_id'])) + data["git_tag"], + data['git_commit_subj'], + request_url(data['obs_req_id'])) gerrit.review(commit = data['commitid'], message = message) - tag = data['tag'].lower() + tag = data['git_tag'].lower() if tag.startswith('submit'): try: @@ -145,13 +167,13 @@ def request_rejected(data, gerrit, gitprj): '- Git project: %s\n' \ '- Tag:%s\n' \ '- Commit: %s\n' \ - '- Request URL:%s' %( data['OBS_project'], - data["reviewer"], - data["message"], + '- Request URL:%s' %( data['obs_req_prj'], + data["obs_req_sender"], + data["obs_req_comment"], data['git_project'], - data["tag"], - data['commit_subj'], - request_url(data['request_id'])) + data["git_tag"], + data['git_commit_subj'], + request_url(data['obs_req_id'])) gerrit.review(commit = data['commitid'], message = message) @@ -164,13 +186,13 @@ def request_created(data, gerrit, gitprj): '- Git project: %s\n' \ '- Tag:%s\n' \ '- Commit: %s\n' \ - '- Request URL:%s' %( data['OBS_project'], - data["author_email"], + '- Request URL:%s' %( data['obs_req_prj'], + data["git_author_email"], data["message"], data['git_project'], - data["tag"], - data['commit_subj'], - request_url(data['request_id'])) + data["git_tag"], + data['git_commit_subj'], + request_url(data['obs_req_id'])) print '#########NOTE: post to gerrit is disabled###############################' #gerrit.review(commit = data['commitid'], message = message) @@ -181,11 +203,6 @@ def request_created(data, gerrit, gitprj): def notify_submiter(event_fields, data): print '====Notify the tag owner====================================' - mail_to = [] - mail_to.append(data['author_email']) - for entry in data['descriptions']: - mail_to.append(entry['author_email']) - status = {} bs = buildservice.BuildService(OBS_API_URL, OBS_OSCRC_PATH) @@ -199,6 +216,7 @@ def notify_submiter(event_fields, data): for a in status.keys(): f.write('%s=%s\n' %(a, status[a])) +GIT_URL="git://gerrit2.bj.intel.com" event = json.loads(' '.join(OBS_EVENT_STRING.split())) event_fields = event['fields']['obsEvent'] diff --git a/requests/mailer.py b/requests/mailer.py index 09dcb71..ded70f6 100644 --- a/requests/mailer.py +++ b/requests/mailer.py @@ -306,12 +306,12 @@ def mailer(request, bs, wi, noreply_sender, ml, bccs, request_data, reqinfo = _get_reqinfo(bs, rid, tri['detail?']) return_dict['reqinfo'] = reqinfo - return_dict['To'] = request_data['author_email'] + return_dict['To'] = request_data['git_author_email'] # CC mailinglist and the author of superseded SRs return_dict['Cc'] = ml for desp in request_data['descriptions']: - return_dict['Cc'].append(desp['author_email']) + return_dict['Cc'].append(desp['git_author_email']) return_dict['realname'] = request_data['author'] if bccs: -- 2.7.4