server.py 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. import json
  2. import logging
  3. import os
  4. import traceback
  5. from pprint import pprint
  6. from flask import Flask
  7. from flask import make_response
  8. from flask import request
  9. from flask_cors import *
  10. # from parse import MyParse
  11. from JiQiaoDianBo.parse_jiqiao import MyParse
  12. logger = logging.getLogger(__name__)
  13. logger.setLevel(level=logging.INFO)
  14. handler = logging.FileHandler(r"../log.txt", encoding="utf-8")
  15. handler.setLevel(logging.INFO)
  16. formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
  17. handler.setFormatter(formatter)
  18. console = logging.StreamHandler()
  19. console.setLevel(logging.INFO)
  20. console.setFormatter(formatter)
  21. logger.addHandler(handler)
  22. logger.addHandler(console)
  23. app = Flask(__name__)
  24. app.debug = True
  25. CORS(app, supports_credentials=True)
  26. app.secret_key = b'_5#y2L"F4Q8z\n\xec]/'
  27. app.config['MAX_CONTENT_LENGTH'] = 32 * 1024 * 1024
  28. ALLOWED_EXTENSIONS = set(['txt', 'doc', 'docx'])
  29. UPLOAD_FOLDER = r'D:\00_online_05_07\uploads'
  30. if not os.path.isdir(UPLOAD_FOLDER):
  31. os.makedirs(UPLOAD_FOLDER)
  32. app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
  33. def Response_headers(content):
  34. # resp = Response(content)
  35. resp = make_response(content)
  36. resp.headers['Access-Control-Allow-Headers'] = "x-requested-with,content-type,Authorization"
  37. resp.headers['Access-Control-Allow-Methods'] = "POST,GET,OPTIONS"
  38. resp.headers['Access-Control-Allow-Origin'] = '*'
  39. return resp
  40. def allowed_file(filename):
  41. return '.' in filename and \
  42. filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS
  43. @app.route('/paper_parse_test', methods=['POST', 'GET'])
  44. def paper_parse_test():
  45. try:
  46. print("\n--------------技巧点拨解析--------------------\n")
  47. # print("\n{}\n".format(request.form))
  48. html = request.form["content"]
  49. logger.info("----all_html----" + str(html)) # 试题记录
  50. print("\n\n--------------解析结果如下:-----------------------")
  51. res = MyParse(html)()
  52. if not res:
  53. res = "格式格式,请检查仔细"
  54. pprint(res)
  55. print("----------------------------------------------------\n\n")
  56. content_output = json.dumps(res, ensure_ascii=False)
  57. resp = Response_headers(content_output)
  58. return resp
  59. except:
  60. print("\n-------------word parse is failed-------------------\n")
  61. print(traceback.print_exc())
  62. content = json.dumps({"error_message": "1001"})
  63. resp = Response_headers(content)
  64. return resp
  65. @app.errorhandler(403)
  66. def page_not_found(error):
  67. content = json.dumps({"error_code": "403"})
  68. resp = Response_headers(content)
  69. return resp
  70. @app.errorhandler(404)
  71. def page_not_found(error):
  72. content = json.dumps({"error_code": "404"})
  73. resp = Response_headers(content)
  74. return resp
  75. @app.errorhandler(400)
  76. def page_not_found(error):
  77. content = json.dumps({"error_code": "400"})
  78. # resp = Response(content)
  79. # resp.headers['Access-Control-Allow-Origin'] = '*'
  80. resp = Response_headers(content)
  81. return resp
  82. # return "error_code:400"
  83. @app.errorhandler(410)
  84. def page_not_found(error):
  85. content = json.dumps({"error_code": "410"})
  86. resp = Response_headers(content)
  87. return resp
  88. @app.errorhandler(500)
  89. def page_not_found(error):
  90. content = json.dumps({"error_code": "500"})
  91. resp = Response_headers(content)
  92. return resp
  93. if __name__ == '__main__':
  94. app.run(host="192.168.1.140", port=20000, threaded=True, debug=True)