2
0

api_user_info.py 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. from .tool.func import *
  2. def api_user_info(name = ''):
  3. with get_db_connect() as conn:
  4. curs = conn.cursor()
  5. if flask.request.args.get('render', None):
  6. plus_d = ''
  7. plus_t = []
  8. curs.execute(db_change("update rb set ongoing = '' where end < ? and end != '' and ongoing = '1'"), [get_time()])
  9. conn.commit()
  10. plus_d = '''
  11. <table class="user_info_table">
  12. <tbody>
  13. <tr>
  14. <td>''' + load_lang('user_name') + '''</td>
  15. <td>{}</td>
  16. </tr>
  17. <tr>
  18. <td>''' + load_lang('authority') + '''</td>
  19. <td>{}</td>
  20. </tr>
  21. <tr>
  22. <td>''' + load_lang('state') + '''</td>
  23. <td>{}</td>
  24. </tr>
  25. </tbody>
  26. </table>
  27. '''
  28. curs.execute(db_change("select data from user_set where id = ? and name = 'acl'"), [name])
  29. data = curs.fetchall()
  30. if data:
  31. if data[0][0] != 'user':
  32. curs.execute(db_change("select name from alist where name = ?"), [data[0][0]])
  33. if curs.fetchall():
  34. plus_t += [data[0][0]]
  35. else:
  36. plus_t += [load_lang('member')]
  37. else:
  38. plus_t += [load_lang('member')]
  39. else:
  40. plus_t += [load_lang('normal')]
  41. if ban_check(name) == 0:
  42. plus_t += [load_lang('normal')]
  43. else:
  44. plus_t += [load_lang('blocked') + '<br>']
  45. regex_ban = 0
  46. curs.execute(db_change("select login, block, end, why from rb where band = 'regex' and ongoing = '1'"))
  47. for test_r in curs.fetchall():
  48. if re.compile(test_r[1]).search(name):
  49. plus_t[1] += load_lang('type') + ' : ' + load_lang('regex')
  50. plus_t[1] += '<br>' + load_lang('period') + ' : ' + (test_r[2] if test_r[2] != '' else load_lang('limitless'))
  51. plus_t[1] += ('<br>' + load_lang('login_able') if test_r[0] == 'O' else '')
  52. plus_t[1] += ('<br>' + load_lang('why') + ' : ' + test_r[3] if test_r[3] != '' else '')
  53. regex_ban = 1
  54. if regex_ban == 0:
  55. curs.execute(db_change("select end, login, band, why from rb where block = ? and ongoing = '1'"), [name])
  56. block_data = curs.fetchall()
  57. if block_data:
  58. plus_t[1] += load_lang('type') + ' : ' + (load_lang('band_blocked') if block_data[0][2] == 'O' else load_lang('normal'))
  59. plus_t[1] += (' (' + load_lang('login_able') + ')' if block_data[0][1] != '' else '')
  60. plus_t[1] += '<br>' + load_lang('period') + ' : ' + (block_data[0][0] if block_data[0][0] != '' else load_lang('limitless'))
  61. plus_t[1] += ('<br>' + load_lang('band_blocked') if block_data[0][2] == 'O' else '')
  62. plus_t[1] += ('<br>' + load_lang('why') + ' : ' + block_data[0][3] if block_data[0][3] != '' else '')
  63. plus_d = plus_d.format(ip_pas(name), plus_t[0], plus_t[1])
  64. return flask.jsonify({ "data" : plus_d })
  65. else:
  66. return flask.jsonify({})