{"contents":"# -*- coding: utf-8 -*-#\n# -------------------------------------------------------------------------------\n# Name: helpers.py\n# Description: Miscellaneous helper utilities\n# Author: xaoyaoo\n# Date: 2024/01/16\n# -------------------------------------------------------------------------------\nimport base64\nimport os\nimport random\nimport re\nimport string\n\n\ndef is_port_in_use(_host, _port):\n import socket\n with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:\n try:\n s.bind((_host, _port))\n except socket.error:\n return True\n return False\n\n\ndef validate_title(title):\n \"\"\"\n 校验文件名是否合法\n \"\"\"\n rstr = r\"[\\/\\\\\\:\\*\\?\\\"\\\u003c\\\u003e\\|\\.]\" # '/ \\ : * ? \" \u003c \u003e |'\n new_title = re.sub(rstr, \"_\", title) # 替换为下划线\n return new_title\n\n\ndef gen_base64(path):\n # 获取文件名后缀\n extension = os.path.splitext(path)[1]\n if extension == '.js':\n start_str = 'data:text/javascript;base64,'\n elif extension == '.css':\n start_str = 'data:text/css;base64,'\n elif extension == '.html':\n start_str = 'data:text/html;base64,'\n elif extension == '.json':\n start_str = 'data:application/json;base64,'\n else:\n start_str = 'data:text/plain;base64,'\n\n with open(path, 'rb') as file:\n js_code = file.read()\n\n base64_encoded_js = base64.b64encode(js_code).decode('utf-8')\n return start_str + base64_encoded_js\n\n\ndef random_str(num=16):\n return ''.join(random.sample(string.ascii_letters + string.digits, num))\n","is_binary":false,"path":"wxdump_linux/api/helpers.py","ref":""}