Compare commits

..

1 Commits

Author SHA1 Message Date
shekhar-cis dbf00e0ed5
Updated method names 2023-01-09 21:56:54 +05:30
1 changed files with 45 additions and 36 deletions

View File

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