Archived
1
0
Fork 0
This repository has been archived on 2024-04-26. You can view files and clone it, but cannot push or open issues or pull requests.
akari-bot/bug/bugtrackerbc.py
2020-07-16 22:43:58 +08:00

81 lines
No EOL
3.9 KiB
Python

# -*- coding:utf-8 -*-
import requests
from xml.etree import ElementTree
import json
import string
import os, sys
import http.client
import hashlib
import urllib
import random
async def bugcb(pagename):
appid = '20200328000407172'
secretKey = '9wUEKfwOtQsMh_2Ozr7R'
httpClient = None
myurl = '/api/trans/vip/translate'
fromLang = 'en' #原文语种
toLang = 'zh'
salt = random.randint(32768, 65536)
try:
try:
try:
os.remove('bug_cache_text.txt')
except Exception:
pass
url_str ='https://bugs.mojang.com/si/jira.issueviews:issue-xml/'+ str.upper(pagename) + '/' + str.upper(pagename) + '.xml'
respose_str = requests.get(url_str,timeout=10)
respose_str = requests.get(url_str,timeout=10)
try:
respose_str.encoding = 'utf-8'
root = ElementTree.XML(respose_str.text)
for node in root.iter("channel"):
for node in root.iter("item"):
Title = node.find("title").text
q = node.find("title").text
Type = "类型:" + node.find("type").text
Project = "项目:" + node.find("project").text
TStatus = "进度:" + node.find("status").text
Resolution = "状态:" + node.find("resolution").text
Link = node.find("link").text
sign = appid + q + str(salt) + secretKey
sign = hashlib.md5(sign.encode()).hexdigest()
myurl = myurl + '?appid=' + appid + '&q=' + urllib.parse.quote(q) + '&from=' + fromLang + '&to=' + toLang + '&salt=' + str(salt) + '&sign=' + sign +'&action=1'
url_json = 'https://bugs.mojang.com/rest/api/2/issue/'+str.upper(pagename)
json_text = requests.get(url_json,timeout=10)
file = json.loads(json_text.text)
Versions = file['fields']['versions']
name = []
for item in Versions[:]:
name.append(item['name'])
httpClient = http.client.HTTPConnection('api.fanyi.baidu.com')
httpClient.request('GET', myurl)
response = httpClient.getresponse()
result_all = response.read().decode("utf-8")
result = json.loads(result_all)
for item in result['trans_result']:
dst=item['dst']
if name[0] == name[-1]:
Version = "Version: "+name[0]
else:
Version = "Versions: "+name[0]+"~"+name[-1]
try:
Priority = "Mojang Priority: "+file['fields']['customfield_12200']['value']
return(Title+'\n'+dst+'\n'+Type+'\n'+Project+'\n'+TStatus+'\n'+Priority+'\n'+Resolution+'\n'+Version+'\n'+Link+'\n'+'由百度翻译提供支持。')
except Exception:
return(Title+'\n'+dst+'\n'+Type+'\n'+Project+'\n'+TStatus+'\n'+Resolution+'\n'+Version+'\n'+Link+'\n'+'由百度翻译提供支持。')
except Exception:
try:
return(Title+'\n'+dst+'\n'+Type+'\n'+Project+'\n'+TStatus+'\n'+Priority+'\n'+Resolution+'\n'+Link+'\n'+'由百度翻译提供支持。')
except Exception:
try:
return(Title+'\n'+dst+'\n'+Type+'\n'+Project+'\n'+TStatus+'\n'+Resolution+'\n'+Link+'\n'+'由百度翻译提供支持。')
except Exception:
try:
return(Link)
except Exception as e:
return("发生错误:"+str(e)+".")
except Exception as e:
return("发生错误:"+str(e)+".")
except Exception as e:
return("发生错误:"+str(e)+".")