func_render.py 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. from .func_tool import *
  2. from .func_render_namumark import class_do_render_namumark
  3. # 커스텀 마크 언젠간 다시 추가 예정
  4. class class_do_render:
  5. def __init__(self, conn, lang_data = {}):
  6. self.conn = conn
  7. if lang_data == '{}':
  8. lang_data = {
  9. 'toc' : 'toc',
  10. 'category' : 'category'
  11. }
  12. self.lang_data = lang_data
  13. def do_render(self, doc_name, doc_data, data_type, data_in):
  14. curs = self.conn.cursor()
  15. doc_set = {}
  16. if data_in == 'from':
  17. data_in = ''
  18. doc_set['doc_from'] = 'O'
  19. data_in = (data_in + '_') if data_in != '' else ''
  20. doc_set['doc_include'] = data_in
  21. curs.execute(db_change("select set_data from data_set where doc_name = ? and set_name = 'document_markup'"), [doc_name])
  22. rep_data = curs.fetchall()
  23. if rep_data and rep_data[0][0] != '':
  24. rep_data = rep_data[0][0]
  25. else:
  26. curs.execute(db_change('select data from other where name = "markup"'))
  27. rep_data = curs.fetchall()
  28. rep_data = rep_data[0][0] if rep_data else 'namumark'
  29. if rep_data == 'namumark' or rep_data == 'namumark_beta':
  30. data_end = class_do_render_namumark(
  31. curs,
  32. doc_name,
  33. doc_data,
  34. doc_set,
  35. self.lang_data
  36. )()
  37. elif rep_data == 'raw':
  38. data_end = [
  39. html.escape(doc_data).replace('\n', '<br>'),
  40. '',
  41. {}
  42. ]
  43. else:
  44. data_end = [
  45. doc_data,
  46. '',
  47. {}
  48. ]
  49. if data_type == 'backlink':
  50. if 'backlink' in data_end[2]:
  51. backlink = data_end[2]['backlink']
  52. else:
  53. backlink = []
  54. if backlink != []:
  55. curs.executemany(db_change("insert into back (link, title, type) values (?, ?, ?)"), data_end[2]['backlink'])
  56. curs.execute(db_change("delete from back where title = ? and type = 'no'"), [doc_name])
  57. self.conn.commit()
  58. return [
  59. data_end[0],
  60. data_end[1],
  61. data_end[2]
  62. ]