2
0

api_search.py 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. from .tool.func import *
  2. def api_search_2(conn, name):
  3. curs = conn.cursor()
  4. num = int(number_check(flask.request.args.get('num', '10')))
  5. if not num > 0:
  6. num = 1
  7. if num > 1000:
  8. num = 1
  9. page = int(number_check(flask.request.args.get('page', '1')))
  10. if page * num > 0:
  11. page = page * num - num
  12. else:
  13. page = 0
  14. curs.execute(db_change('select data from other where name = "count_all_title"'))
  15. if int(curs.fetchall()[0][0]) < 30000:
  16. curs.execute(db_change("" + \
  17. "select distinct title, case " + \
  18. "when title like ? then 'title' else 'data' end from data " + \
  19. "where (title like ? or data like ?) order by case " + \
  20. "when title like ? then 1 else 2 end limit ?, ?"),
  21. ['%' + name + '%', '%' + name + '%', '%' + name + '%', '%' + name + '%', page, num]
  22. )
  23. else:
  24. curs.execute(db_change("select title from data where title like ? order by title limit ?, ?"),
  25. ['%' + name + '%', page, num]
  26. )
  27. all_list = curs.fetchall()
  28. if all_list:
  29. return flask.jsonify(all_list)
  30. else:
  31. return flask.jsonify({})