#!/usr/bin/env python
+"""This job is used to dispatch obs events."""
+
import os
# set default char-set endcoding to utf-8
import sys
reload(sys)
+# pylint: disable-msg=E1101
sys.setdefaultencoding('utf-8')
+# pylint: enable-msg=E1101
try:
import json
from common.buildtrigger import trigger_next
def main():
+ """The main body"""
+
event_dict = json.loads(os.getenv('OBS_EVENT_STRING'))
buildcheck_job = os.getenv('BUILDCHECK_JOB_NAME') or 'buildcheck-post'
requests_job = os.getenv('REQUESTS_JOB_NAME') or 'requests'
repomaker_job = os.getenv('REPOMAKER_JOB_NAME') or 'repomaker'
- if event_dict and event_dict.has_key('fields'):
- if event_dict['fields'].has_key('obsEvent'):
- event_type = event_dict['fields']['obsEvent']['type']
- if 'OBS_SRCSRV_REQUEST' in event_type:
- trigger_next(requests_job, event_dict['fields']['obsEvent'])
- elif 'OBS_REPO_PUBLISH' in event_type:
- event_prj = event_dict['fields']['obsEvent']['project']
- if event_type == 'OBS_REPO_PUBLISHED':
- trigger_next(repomaker_job, event_dict['fields']['obsEvent'])
- elif event_type == 'OBS_REPO_PUBLISH_STATE':
- if 'buildcheck' in event_prj:
- trigger_next(buildcheck_job, event_dict['fields']['obsEvent'])
- #elif 'OBS_BUILD' in event_type:
- # event_prj = event_dict['fields']['obsEvent']['project']
- # if 'buildcheck' in event_prj:
- # write_to('%s.env' % buildcheck_job, event_dict['fields']['obsEvent'])
+ if 'fields' in event_dict and 'obsEvent' in event_dict['fields']:
+ event_fields = event_dict['fields']
+ event_type = event_fields['obsEvent']['type']
+
+ if 'OBS_SRCSRV_REQUEST' in event_type:
+ trigger_next(requests_job, event_fields['obsEvent'])
+ elif 'OBS_REPO_PUBLISH' in event_type:
+ event_prj = event_fields['obsEvent']['project']
+ if event_type == 'OBS_REPO_PUBLISHED':
+ trigger_next(repomaker_job, event_fields['obsEvent'])
+ elif event_type == 'OBS_REPO_PUBLISH_STATE':
+ if 'buildcheck' in event_prj:
+ trigger_next(buildcheck_job, event_fields['obsEvent'])
if __name__ == '__main__':
main()