2
0

mark.py 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. from .set_mark.namumark import namumark, link_fix
  2. from .set_mark.tool import *
  3. import re
  4. import html
  5. import sqlite3
  6. import asyncio
  7. import threading
  8. import urllib.parse
  9. import multiprocessing
  10. def load_conn2(data):
  11. global conn
  12. global curs
  13. conn = data
  14. curs = conn.cursor()
  15. def send_parser(data):
  16. if not re.search('^<br>$', data):
  17. data = html.escape(data)
  18. javascript = re.compile('javascript:', re.I)
  19. data = javascript.sub('', data)
  20. while 1:
  21. re_data = re.search('&lt;a(?: (?:(?:(?!&gt;).)*))?&gt;(?P<in>(?:(?!&lt;).)*)&lt;\/a&gt;', data)
  22. if re_data:
  23. re_data = re_data.groups()[0]
  24. data = re.sub(
  25. '&lt;a(?: (?:(?:(?!&gt;).)*))?&gt;(?P<in>(?:(?!&lt;).)*)&lt;\/a&gt;',
  26. '<a href="/w/' + urllib.parse.quote(re_data).replace('/','%2F') + '">' + re_data + '</a>',
  27. data,
  28. 1
  29. )
  30. else:
  31. break
  32. return data
  33. def render_do(title, data, num, include):
  34. if num == 3:
  35. num = 1
  36. back_num = 3
  37. else:
  38. back_num = num
  39. curs.execute(db_change('select data from other where name = "markup"'))
  40. rep_data = curs.fetchall()
  41. if rep_data[0][0] == 'namumark':
  42. data = namumark(conn, data, title, num, include)
  43. elif rep_data[0][0] == 'raw':
  44. data = [data, '', []]
  45. else:
  46. data = ['', '', []]
  47. if num == 1:
  48. if data[2] == []:
  49. curs.execute(db_change("insert into back (title, link, type) values ('test', ?, 'nothing')"), [title])
  50. else:
  51. curs.executemany(db_change("insert into back (link, title, type) values (?, ?, ?)"), data[2])
  52. curs.execute(db_change("delete from back where title = ? and type = 'no'"), [title])
  53. if back_num != 3:
  54. conn.commit()
  55. if num == 2:
  56. return [data[0], data[1]]
  57. else:
  58. return data[0] + '<script>' + data[1] + '</script>'