Add Wowhead links and clean up code
This commit is contained in:
73
wqb.py
73
wqb.py
@ -1,6 +1,7 @@
|
||||
import json
|
||||
import urllib2
|
||||
import logging
|
||||
import re
|
||||
|
||||
logging.basicConfig(filename='wqb.log', format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', encoding='utf-8', level=logging.DEBUG)
|
||||
|
||||
@ -17,6 +18,9 @@ token = config[1].split('=')[1].strip()
|
||||
def send_message(input):
|
||||
data = {
|
||||
'chat_id': chat_id,
|
||||
'parse_mode': "MarkdownV2",
|
||||
'disable_web_page_preview': 'true',
|
||||
'disable_notification': 'true',
|
||||
'text': input
|
||||
}
|
||||
|
||||
@ -27,30 +31,55 @@ def send_message(input):
|
||||
|
||||
logging.info('sent message ' + input)
|
||||
|
||||
def get_id(quest):
|
||||
sources = {'SL': sl, 'BfA': bfa, 'Legion': legion}
|
||||
|
||||
for name, src in sources.items():
|
||||
if (src.find(quest) != -1):
|
||||
rgx = r"\"(\d+)\":{\"name_enus\":\"" + re.escape(quest) + r"\""
|
||||
m = re.search(rgx, src)
|
||||
if (m):
|
||||
return m.group(1), name
|
||||
else:
|
||||
return 0, name
|
||||
|
||||
return -1, ''
|
||||
|
||||
def sanitize(str):
|
||||
return str.replace('-', '\\-')
|
||||
|
||||
qlist = open('ql','r')
|
||||
qlist = qlist.readlines()
|
||||
output = ''
|
||||
|
||||
for quest in qlist:
|
||||
quest = quest.rstrip()
|
||||
qsplit = quest.split('|')
|
||||
if len(qsplit) == 2:
|
||||
if (sl.find(qsplit[1]) != -1):
|
||||
send_message('[SL Tamer] ' + qsplit[0] + ' - ' + qsplit[1])
|
||||
if (bfa.find(qsplit[1]) != -1):
|
||||
send_message('[BFA Tamer] ' + qsplit[0] + ' - ' + qsplit[1])
|
||||
if (legion.find(qsplit[1]) != -1):
|
||||
send_message('[Legion Tamer] ' + qsplit[0] + ' - ' + qsplit[1])
|
||||
qsplit = quest.rstrip().split('|')
|
||||
id = -1
|
||||
tag = ''
|
||||
q = ''
|
||||
prefix = ''
|
||||
suffix = ''
|
||||
|
||||
if len(qsplit) == 1:
|
||||
q = qsplit[0]
|
||||
elif len(qsplit) == 2:
|
||||
q = qsplit[1]
|
||||
prefix = qsplit[0] + " - "
|
||||
elif len(qsplit) == 3:
|
||||
if (sl.find(qsplit[1]) != -1):
|
||||
send_message('[SL Tamer] ' + qsplit[0] + ' - ' + qsplit[1] + ' - ' + qsplit[2])
|
||||
if (bfa.find(qsplit[1]) != -1):
|
||||
send_message('[BFA Tamer] ' + qsplit[0] + ' - ' + qsplit[1] + ' - ' + qsplit[2])
|
||||
if (legion.find(qsplit[1]) != -1):
|
||||
send_message('[Legion Tamer] ' + qsplit[0] + ' - ' + qsplit[1] + ' - ' + qsplit[2])
|
||||
else:
|
||||
if (sl.find(quest) != -1):
|
||||
send_message('[SL] ' + quest)
|
||||
if (bfa.find(quest) != -1):
|
||||
send_message('[BFA] ' + quest)
|
||||
if (legion.find(quest) != -1):
|
||||
send_message('[Legion] ' + quest)
|
||||
q = qsplit[1]
|
||||
prefix = qsplit[0] + " - "
|
||||
suffix = " - " + qsplit[2]
|
||||
|
||||
r = get_id(q)
|
||||
id = r[0]
|
||||
tag = r[1]
|
||||
if (id == -1):
|
||||
continue
|
||||
elif (id > 0):
|
||||
q = "[%s](https://wowhead.com/quest=%s)" % (q, id)
|
||||
|
||||
output = "%s\n\\[%s\\] %s%s%s" % (output, tag, prefix, q, suffix)
|
||||
|
||||
if output != '':
|
||||
output = sanitize(output)
|
||||
send_message(output.strip())
|
||||
|
Reference in New Issue
Block a user