func_render.py 2.2 KB

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