Updated method names
buildbot/multibuild_parent Build done. Details
buildbot/travis_bionic Build done. Details

This commit is contained in:
shekhar-cis 2023-01-09 21:56:28 +05:30
parent 89305ec602
commit dbf00e0ed5
Signed by: shekhar-cis
GPG Key ID: F4F00AB04E83F9A7
1 changed files with 26 additions and 28 deletions

View File

@ -1,23 +1,24 @@
"""Transifex webhook handler """ """Transifex webhook handler """
import os
import base64 import base64
import time
import json
import hmac
import hashlib import hashlib
import hmac
import json
import os
import requests
import time
from subprocess import call from subprocess import call
from base64 import b64encode from base64 import b64encode
import requests
from buildbot.process.properties import Properties from buildbot.process.properties import Properties
from buildbot.util import bytes2unicode, unicode2bytes from buildbot.util import bytes2unicode, unicode2bytes
from buildbot.www.hooks.base import BaseHookHandler from buildbot.www.hooks.base import BaseHookHandler
from dateutil.parser import parse as dateparse
from twisted.internet import defer from twisted.internet import defer
from twisted.python import log from twisted.python import log
from dateutil.parser import parse as dateparse
_HEADER_USER_AGENT = 'User-Agent' _HEADER_USER_AGENT = 'User-Agent'
_HEADER_SIGNATURE = 'X-TX-Signature' _HEADER_SIGNATURE = 'X-TX-Signature'
@ -42,7 +43,7 @@ class TransifexHandler(BaseHookHandler):
output = json.dumps({"status": "OK" if status else "FAIL", "message": message}) output = json.dumps({"status": "OK" if status else "FAIL", "message": message})
return [output, [('Content-type', 'application/json')]] return [output, [('Content-type', 'application/json')]]
def verifyTransifexSignature( def _verifyTransifexSignature(
self, request, content, signature, header_signature self, request, content, signature, header_signature
): ):
http_verb = 'POST' http_verb = 'POST'
@ -64,28 +65,23 @@ class TransifexHandler(BaseHookHandler):
if signature != request.getHeader(_HEADER_SIGNATURE): if signature != request.getHeader(_HEADER_SIGNATURE):
return False return False
return True
def process_translation_completed(self, payload, transifex_dict, event_type, codebase): def process_translation_completed(self, payload, transifex_dict, event_type, codebase):
changes = [] changes = []
transifex_response = self._transform_variables(payload, transifex_dict) transifex_response = self._transform_variables(payload, transifex_dict)
if 'pybitmessage-test' in transifex_response['project'] and 'messagespot' in transifex_response['resource']: # if 'pybitmessage-test' in transifex_response['project'] and 'messagespot' in transifex_response['resource']:
if 'translation_completed' in transifex_response['event']: # if 'translation_completed' in transifex_response['event']:
ts = int(time.time()) try:
lang = transifex_response['language'] lang = transifex_response['language']
return except Exception as exception:
raise KeyError('No such key found: ' + str(exception))
# if isinstance(self.options, dict):
# commits = commits[:1]
# # for commit in commits:
# # files = []
# # for kind in ('added', 'modified', 'removed'):
# # files.extend(commit.get(kind, []) or [])
change = { change = {
'author': 'buildbot-transifex, 'author': 'buildbot-transifex',
'resource': transifex_response['resource'], 'resource': transifex_dict['resource'],
'branch': transifex_dict['branch'], 'branch': transifex_dict['branch'],
'project': transifex_response['project'], 'project': transifex_dict['project'],
'event': event_type, 'event': event_type,
'properties': { 'properties': {
'branch': branch, 'branch': branch,
@ -133,7 +129,7 @@ class TransifexHandler(BaseHookHandler):
digestmod=hashlib.sha256) digestmod=hashlib.sha256)
header_signature = bytes2unicode( header_signature = bytes2unicode(
request.getHeader(_HEADER_SIGNATURE)) request.getHeader(_HEADER_SIGNATURE))
self.verifyTransifexSignature( self._verifyTransifexSignature(
request, content, self.rendered_secret, request, content, self.rendered_secret,
signature, header_signature signature, header_signature
) )
@ -143,11 +139,13 @@ class TransifexHandler(BaseHookHandler):
project = payload.get("project", 'None') project = payload.get("project", 'None')
resource = payload.get("resource", 'None') resource = payload.get("resource", 'None')
transifex_request_data['branch'] = "v0.6" transifex_request_data['branch'] = transifex_dict['branch']
transifex_request_data['revision'] = "" transifex_request_data['revision'] = ""
transifex_request_data["properties"] = "langugage" transifex_request_data["properties"] = {
transifex_request_data["properties"] = "resource" "transifex_language": language,
transifex_request_data["properties"] = "project" "transifex_resource": resource,
"transifex_project": project
}
transifex_request_data["properties"] = { transifex_request_data["properties"] = {
"branch": branch, "branch": branch,