emergency_tool.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. # 주요 모듈 불러옴
  2. import json
  3. import sqlite3
  4. import threading
  5. # 기타 코드 불러옴
  6. from func import *
  7. from mark import load_conn2, namumark
  8. # JSON 불러옴
  9. json_data = open('set.json').read()
  10. set_data = json.loads(json_data)
  11. # 디비 연결
  12. conn = sqlite3.connect(set_data['db'] + '.db', check_same_thread = False)
  13. curs = conn.cursor()
  14. # 연결 전달
  15. load_conn2(conn)
  16. print('1. BackLink ReSet')
  17. print('2. ReCaptcha Delete')
  18. print('3. Ban Delete')
  19. print('select : ', end = '')
  20. what_i_do = input()
  21. if what_i_do == '1':
  22. # 파싱 해주는 함수
  23. def parser(data):
  24. namumark(data[0], data[1], 1)
  25. # 역링크 전부 삭제
  26. curs.execute("delete from back")
  27. conn.commit()
  28. # 데이터에서 제목이랑 내용 불러옴
  29. curs.execute("select title, data from data")
  30. data = curs.fetchall()
  31. # for 돌려서 처리
  32. for test in data:
  33. # 스레드 기반으로 처리
  34. t = threading.Thread(target = parser, args = [test])
  35. t.start()
  36. t.join()
  37. elif what_i_do == '2':
  38. # 데이터 삭제
  39. curs.execute("delete from other where name = 'recaptcha'")
  40. curs.execute("delete from other where name = 'sec_re'")
  41. elif what_i_do == '3':
  42. print('IP or User_Name : ', end = '')
  43. user_data = input()
  44. if re.search("^([0-9]{1,3}\.[0-9]{1,3})$", user_data):
  45. band = 'O'
  46. else:
  47. band = ''
  48. # 데이터 삭제
  49. curs.execute("insert into rb (block, end, today, blocker, why, band) values (?, ?, ?, ?, ?, ?)", [user_data, 'Emergency Release', get_time(), 'localhost', '', band])
  50. curs.execute("delete from ban where block = ?", [user_data])
  51. # 커밋
  52. conn.commit()