Compare commits

..

1 Commits

Author SHA1 Message Date
shekhar-cis 4ecb3b9cb9
Updated method names 2023-01-12 15:53:22 +05:30
1 changed files with 31 additions and 49 deletions

View File

@ -7,17 +7,10 @@ import os
import requests
import time
import logging
from subprocess import call
from base64 import b64encode
from buildbot.process.properties import Properties
from buildbot.util import bytes2unicode, unicode2bytes
from buildbot.www.hooks.base import BaseHookHandler
from dateutil.parser import parse as dateparse
from twisted.internet import defer
from twisted.python import log
@ -27,7 +20,7 @@ _HEADER_SIGNATURE = 'X-TX-Signature'
_HEADER_URL_PATH = 'X-TX-Url'
_HTTP_DATE = 'date'
_EVENT_KEY = 'event'
author = 'buildbot-transifex'
class TransifexHandler(BaseHookHandler):
@ -63,27 +56,25 @@ class TransifexHandler(BaseHookHandler):
).digest()
)
if tx_signature != header_signature:
return False
raise ValueError("Tx Signature mismatch")
if signature != request.getHeader(_HEADER_SIGNATURE):
return False
raise ValueError("Signature mismatch")
return True
def process_translation_completed(self, payload, codebase):
changes = []
transifex_response = self._transform_variables(payload['project'], payload['resource'])
# if 'pybitmessage-test' in transifex_response['project'] and 'messagespot' in transifex_response['resource']:
# if 'translation_completed' in transifex_response['event']:
translated_request = self._transform_variables(payload['project'], payload['resource'])
change = {
'author': "buildbot-transifex",
'resource': transifex_response[resource],
'branch': transifex_response["branch"],
'project': transifex_response["project"],
'author': "buildbot-transifex",
'branch': translated_request["branch"],
'project': translated_request["project"],
'properties': {
"transifex_language": payload.get("language", "None"),
"transifex_event": payload.get("event", "None"),
"transifex_project": payload.get("project", "None"),
"transifex_resource": payload.get("resource", "None")
"transifex_resource": payload.get("resource", "None"),
"transifex_branch": "v0.6"
}
}
if codebase is not None:
@ -92,15 +83,18 @@ class TransifexHandler(BaseHookHandler):
return changes
def _transform_variables(self, transifex_project, transifex_resource):
key = "{}/{}".format(transifex_project, transifex_resource)
_map = self.map[key]
repository = _map["repository"]
project = transifex_project
return {
'project': project,
'repository': repository,
'branch': _map["branch"],
}
if transifex_project is None:
raise ValueError("Unknown project %s from transifex".format(transifex_project))
else:
key = "{}/{}".format(transifex_project, transifex_resource)
_map = self.map[key]
repository = _map["repository"]
project = transifex_project
return{
'project': project,
'repository': repository,
'branch': _map["branch"],
}
@defer.inlineCallbacks
def getChanges(self, request):
@ -119,34 +113,23 @@ class TransifexHandler(BaseHookHandler):
p = Properties()
p.master = self.master
option = self.options
self.rendered_secret = yield p.render(self.secret)
rendered_secret = yield p.render(self.secret)
signature = hmac.new(
unicode2bytes(self.rendered_secret),
unicode2bytes(rendered_secret),
unicode2bytes(content_text.strip()),
digestmod=hashlib.sha256)
header_signature = bytes2unicode(
request.getHeader(_HEADER_SIGNATURE))
if not self._verifyTransifexSignature(request, content, self.rendered_secret, signature, header_signature):
logging.warning("Verify Transifex Signature fail.")
return False
else:
logging.warning("Verify Transifex Signature ok")
self._verifyTransifexSignature(request, content, rendered_secret, signature, header_signature)
event_type = payload.get("event", "None")
change["properties"] = {
"transifex_language": payload.get("language", "None"),
"transifex_event": payload.get("event", "None"),
"transifex_project": payload.get("project", "None"),
"transifex_resource": payload.get("resource", "None")
}
transiform_map = self._transform_variables(payload['project'], payload['resource'])
mapped_request = self._transform_variables(payload['project'], payload['resource'])
change["changes"] = {
"author": "buildbot-transifex",
"repository": transiform_map['repository'],
"project": transiform_map['project'],
"branch": transiform_map["branch"]
"author": author,
"repository": mapped_request["repository"],
"project": mapped_request["project"],
"branch": mapped_request["branch"]
}
log.msg("Received event '{}' from transifex".format(event_type))
@ -162,5 +145,4 @@ class TransifexHandler(BaseHookHandler):
return (changes, 'transifex')
transifex = TransifexHandler(transifex_to_github_map)
transifex = TransifexHandler