Compare commits

..

1 Commits

Author SHA1 Message Date
shekhar-cis 1a54f3b81d
Updated method names 2023-01-10 17:46:19 +05:30
1 changed files with 36 additions and 45 deletions

View File

@ -7,6 +7,8 @@ import os
import requests
import time
import logging
from subprocess import call
from base64 import b64encode
@ -23,20 +25,20 @@ from twisted.python import log
_HEADER_USER_AGENT = 'User-Agent'
_HEADER_SIGNATURE = 'X-TX-Signature'
_HEADER_URL_PATH = 'X-TX-Url'
HTTP_DATE = 'date'
_HTTP_DATE = 'date'
_EVENT_KEY = 'event'
transifex_request_data = {}
class TransifexHandler(BaseHookHandler):
def __init__(self, master, secret, options, transifex_dict):
def __init__(self, master, secret, options, transifex_to_github_map):
if not options:
options = {}
self.secret = secret
self.master = master
self.options = options
self.transifex_dict = transifex_dict
self.transifex_to_github_map = transifex_to_github_map
def returnMessage(self, status = False, message = "Unimplemented"):
@ -48,7 +50,7 @@ class TransifexHandler(BaseHookHandler):
):
http_verb = 'POST'
http_url_path = request.getHeader(_HEADER_URL_PATH)
http_gmt_date = request.getHeader(HTTP_DATE)
http_gmt_date = request.getHeader(_HTTP_DATE)
content_md5 = hashlib.md5(content).hexdigest()
msg = b'\n'.join([
http_verb, http_url_path, http_gmt_date, content_md5
@ -67,28 +69,25 @@ class TransifexHandler(BaseHookHandler):
return False
return True
def process_translation_completed(self, payload, transifex_dict, event_type, codebase):
def process_translation_completed(self, payload, transifex_to_github_map, event_type, codebase):
changes = []
transifex_response = self._transform_variables(payload, transifex_dict)
transifex_response = self._transform_variables(payload, transifex_to_github_map)
# if 'pybitmessage-test' in transifex_response['project'] and 'messagespot' in transifex_response['resource']:
# if 'translation_completed' in transifex_response['event']:
try:
lang = transifex_response['language']
except Exception as exception:
raise KeyError('No such key found: ' + str(exception))
language = transifex_response.get['language']
change = {
'author': 'buildbot-transifex',
'resource': transifex_dict['resource'],
'branch': transifex_dict['branch'],
'project': transifex_dict['project'],
'author': "buildbot-transifex",
'resource': transifex_to_github_map["resource"],
'branch': transifex_to_github_map["branch"],
'project': transifex_to_github_map["project"],
'event': event_type,
'revision': revision,
'properties': {
'branch': branch,
'revision': revision,
'language': lang,
'resource': resource,
'project': project
"transifex_language": payload.get("language", "None"),
"transifex_event": payload.get("event", "None"),
"transifex_project": payload.get("project", "None"),
"transifex_resource": payload.get("resource", "None")
}
}
if codebase is not None:
@ -96,18 +95,18 @@ class TransifexHandler(BaseHookHandler):
changes.insert(0, change)
return changes
def _transform_variables(self, payload, transifex_dict):
def _transform_variables(self, payload, transifex_to_github_map):
project = payload.get('project', 'None')
transform_values = {
project: {
"repository": "https://github.com/Bitmessage/PyBitmessage",
"branch": "v0.6"
}
'resource': transifex_to_github_map["resource"],
'branch': transifex_to_github_map["branch"],
'project': transifex_to_github_map["project"],
}
return transform_values
@defer.inlineCallbacks
def getChanges(self, request):
change = {}
self.secret = None
if isinstance(self.options, dict):
self.secret = self.options.get('secret')
@ -129,31 +128,23 @@ class TransifexHandler(BaseHookHandler):
digestmod=hashlib.sha256)
header_signature = bytes2unicode(
request.getHeader(_HEADER_SIGNATURE))
self._verifyTransifexSignature(
request, content, self.rendered_secret,
signature, header_signature
)
if not self._verifyTransifexSignature(request, content, self.rendered_secret, signature, header_signature):
logging.warning("Verify Transifex Signature fail.")
else:
logging.warning("Verify Transifex Signature ok")
event_type = payload.get("event", "None")
language = payload.get("language", 'None')
project = payload.get("project", 'None')
resource = payload.get("resource", 'None')
transifex_request_data['branch'] = transifex_dict['branch']
transifex_request_data['revision'] = ""
transifex_request_data["properties"] = {
"transifex_language": language,
"transifex_resource": resource,
"transifex_project": project
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")
}
transifex_request_data["properties"] = {
"branch": branch,
"revision": revision
}
transifex_request_data["changes"] = {
change["changes"] = {
"author": "buildbot-transifex",
"repository": project,
"repository": transifex_to_github_map['repository'],
}
log.msg("Received event '{}' from transifex".format(event_type))
@ -170,4 +161,4 @@ class TransifexHandler(BaseHookHandler):
return (changes, 'transifex')
transifex = TransifexHandler(transifex_dict)
transifex = TransifexHandler(transifex_to_github_map)