deep_search.py 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. from .tool.func import *
  2. def deep_search_2(conn, name):
  3. curs = conn.cursor()
  4. if name == '':
  5. return redirect()
  6. num = int(number_check(flask.request.args.get('num', '1')))
  7. if num * 50 > 0:
  8. sql_num = num * 50 - 50
  9. else:
  10. sql_num = 0
  11. div = '<ul>'
  12. div_plus = ''
  13. test = ''
  14. curs.execute("select title from data where title = ?", [name])
  15. if curs.fetchall():
  16. link_id = ''
  17. else:
  18. link_id = 'id="not_thing"'
  19. div = '''
  20. <ul>
  21. <li>
  22. <a ''' + link_id + ' href="/w/' + url_pas(name) + '">' + name + '''</a>
  23. </li>
  24. </ul>
  25. <hr class=\"main_hr\">
  26. <ul>
  27. '''
  28. curs.execute(
  29. "select distinct title, case when title like ? then '제목' else '내용' \
  30. end from data where title like ? or data like ? order by case \
  31. when title like ? then 1 else 2 end limit ?, '50'",
  32. ['%' + name + '%', '%' + name + '%', '%' + name + '%', '%' + name + '%', str(sql_num)]
  33. )
  34. all_list = curs.fetchall()
  35. if all_list:
  36. test = all_list[0][1]
  37. for data in all_list:
  38. if data[1] != test:
  39. div_plus += '</ul><hr class=\"main_hr\"><ul>'
  40. test = data[1]
  41. div_plus += '<li><a href="/w/' + url_pas(data[0]) + '">' + data[0] + '</a> (' + data[1] + ')</li>'
  42. div += div_plus + '</ul>'
  43. div += next_fix('/search/' + url_pas(name) + '?num=', num, all_list)
  44. return easy_minify(flask.render_template(skin_check(),
  45. imp = [name, wiki_set(), custom(), other2([' (' + load_lang('search') + ')', 0])],
  46. data = div,
  47. menu = 0
  48. ))