api_user_info.py 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. from .tool.func import *
  2. def api_user_info(user_name = ''):
  3. with get_db_connect() as conn:
  4. curs = conn.cursor()
  5. data_result = {}
  6. # name part
  7. data_result['render'] = ip_pas(user_name)
  8. # auth part
  9. curs.execute(db_change("select data from user_set where id = ? and name = 'acl'"), [user_name])
  10. db_data = curs.fetchall()
  11. if db_data:
  12. data_result['auth'] = db_data[0][0]
  13. elif ip_or_user(user_name) == 1:
  14. data_result['auth'] = 'ip'
  15. else:
  16. data_result['auth'] = 'user'
  17. curs.execute(db_change("select data from user_set where id = ? and name = 'auth_date'"), [user_name])
  18. db_data = curs.fetchall()
  19. if db_data:
  20. data_result['auth_date'] = db_data[0][0]
  21. else:
  22. data_result['auth_date'] = '0'
  23. level_data = level_check(conn, user_name)
  24. data_result['level'] = level_data[0]
  25. data_result['exp'] = level_data[1]
  26. data_result['max_exp'] = level_data[2]
  27. # ban part
  28. ban = ban_check(user_name)
  29. if ban[0] == 0:
  30. data_result['ban'] = '0'
  31. else:
  32. data_result['ban'] = ban
  33. # user document part
  34. curs.execute(db_change("select title from data where title = ?"), ['user:' + user_name])
  35. if curs.fetchall():
  36. data_result['document'] = '1'
  37. else:
  38. data_result['document'] = '0'
  39. # user title part
  40. curs.execute(db_change('select data from user_set where name = "user_title" and id = ?'), [user_name])
  41. db_data = curs.fetchall()
  42. if db_data:
  43. data_result['user_title'] = db_data[0][0]
  44. else:
  45. data_result['user_title'] = ''
  46. lang_data_list = [
  47. 'user_name',
  48. 'authority',
  49. 'state',
  50. 'member',
  51. 'normal',
  52. 'blocked',
  53. 'type',
  54. 'regex',
  55. 'period',
  56. 'limitless',
  57. 'login_able',
  58. 'why',
  59. 'band_blocked',
  60. 'ip',
  61. 'ban',
  62. 'level',
  63. 'option',
  64. 'edit_request_able',
  65. 'cidr'
  66. ]
  67. lang_data = { for_a : get_lang(conn, for_a) for for_a in lang_data_list }
  68. return flask.jsonify({ 'data' : data_result, 'language' : lang_data })