Compare commits
2 Commits
main
...
bc871faad0
Author | SHA1 | Date | |
---|---|---|---|
bc871faad0 | |||
672a8e3bb2 |
@@ -127,6 +127,24 @@ def download_images():
|
|||||||
else:
|
else:
|
||||||
messagebox.showwarning("警告", "没有图片被下载")
|
messagebox.showwarning("警告", "没有图片被下载")
|
||||||
|
|
||||||
|
# def upload_image_to_lsky_pro(image_path):
|
||||||
|
# """上传图片到Lsky Pro图床"""
|
||||||
|
# with open(image_path, 'rb') as img_file:
|
||||||
|
# files = {'file': img_file}
|
||||||
|
# headers = {
|
||||||
|
# 'Authorization': f'Bearer {token}',
|
||||||
|
# 'Accept': 'application/json'
|
||||||
|
# }
|
||||||
|
# response = requests.post(f'{lsky_pro_url}{upload_endpoint}', files=files, headers=headers)
|
||||||
|
# if response.status_code == 200:
|
||||||
|
# try:
|
||||||
|
# data = response.json()
|
||||||
|
# if data['status']:
|
||||||
|
# return data['data']['links']['url']
|
||||||
|
# except:
|
||||||
|
# pass
|
||||||
|
# return None
|
||||||
|
|
||||||
def upload_image_to_lsky_pro(image_path, retries=3, timeout=30):
|
def upload_image_to_lsky_pro(image_path, retries=3, timeout=30):
|
||||||
"""上传图片到Lsky Pro图床,增加重试机制和超时设置"""
|
"""上传图片到Lsky Pro图床,增加重试机制和超时设置"""
|
||||||
for attempt in range(retries):
|
for attempt in range(retries):
|
||||||
@@ -152,6 +170,11 @@ def upload_image_to_lsky_pro(image_path, retries=3, timeout=30):
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def process_image_file(markdown_file_path):
|
def process_image_file(markdown_file_path):
|
||||||
with open(markdown_file_path, 'r', encoding='utf-8') as file:
|
with open(markdown_file_path, 'r', encoding='utf-8') as file:
|
||||||
markdown_content = file.read()
|
markdown_content = file.read()
|
||||||
@@ -164,6 +187,8 @@ def process_image_file(markdown_file_path):
|
|||||||
try:
|
try:
|
||||||
if not url.startswith(('http://', 'https://')):
|
if not url.startswith(('http://', 'https://')):
|
||||||
if 'image.lqsjy.cn' not in url:
|
if 'image.lqsjy.cn' not in url:
|
||||||
|
print(f"处理中: {url}")
|
||||||
|
url = url.split(' ')[0]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -187,15 +212,17 @@ def process_image_file(markdown_file_path):
|
|||||||
|
|
||||||
# 构造新的文件名
|
# 构造新的文件名
|
||||||
file_name, file_ext = os.path.splitext(markdown_file_path)
|
file_name, file_ext = os.path.splitext(markdown_file_path)
|
||||||
#new_file_path = f"{file_name}_lsky{file_ext}"
|
|
||||||
new_file_path = f"{file_name}{file_ext}"
|
new_file_path = f"{file_name}{file_ext}"
|
||||||
|
|
||||||
# 保存为新文件
|
# 保存为新文件
|
||||||
with open(new_file_path, 'w', encoding='utf-8') as file:
|
with open(new_file_path, 'w', encoding='utf-8') as file:
|
||||||
file.write(new_content)
|
file.write(new_content)
|
||||||
|
|
||||||
messagebox.showinfo("完成", f"成功处理 {len(url_mapping)} 张图片")
|
#messagebox.showinfo("完成", f"成功处理 {len(url_mapping)} 张图片")
|
||||||
|
print(f"{file_name}:成功处理 {len(url_mapping)} 张图片")
|
||||||
else:
|
else:
|
||||||
messagebox.showwarning("警告", "没有图片被处理")
|
#messagebox.showwarning("警告", "没有图片被处理")
|
||||||
|
print("没有图片被处理")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -314,18 +341,24 @@ def download_and_upload_images():
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
messagebox.showerror("错误", f"处理过程中出错: {str(e)}")
|
messagebox.showerror("错误", f"处理过程中出错: {str(e)}")
|
||||||
|
|
||||||
def upload_images_batch_files(file_paths, max_concurrent_uploads=5):
|
|
||||||
"""批量上传图片,限制并发上传数量"""
|
|
||||||
from concurrent.futures import ThreadPoolExecutor, as_completed
|
|
||||||
|
|
||||||
with ThreadPoolExecutor(max_workers=max_concurrent_uploads) as executor:
|
|
||||||
futures = {executor.submit(process_image_file, file_path): file_path for file_path in file_paths}
|
|
||||||
for future in as_completed(futures):
|
def upload_images_batch_files(file_paths):
|
||||||
file_path = futures[future]
|
# """ 你的图片上传逻辑(需自行实现) """
|
||||||
try:
|
for file_path in file_paths:
|
||||||
future.result()
|
# 这里添加处理每个文件的逻辑
|
||||||
except Exception as e:
|
if not file_path or not os.path.isfile(file_path):
|
||||||
print(f"处理文件 {file_path} 时出错: {str(e)}")
|
messagebox.showwarning("警告", "请选择有效的Markdown文件。")
|
||||||
|
return
|
||||||
|
|
||||||
|
print(f"Processing: {file_path}")
|
||||||
|
process_image_file(file_path)
|
||||||
|
|
||||||
|
# 示例:读取markdown文件内容
|
||||||
|
# with open(file_path, 'r') as f:
|
||||||
|
# content = f.read()
|
||||||
|
# 添加你的图片上传逻辑...
|
||||||
|
|
||||||
def select_files():
|
def select_files():
|
||||||
root = tk.Tk()
|
root = tk.Tk()
|
||||||
|
@@ -3,8 +3,7 @@ import requests
|
|||||||
|
|
||||||
# 配置信息
|
# 配置信息
|
||||||
local_image_folder = 'downloaded_images'
|
local_image_folder = 'downloaded_images'
|
||||||
#lsky_pro_url = 'http://192.168.107.248:18089/api/v1'
|
lsky_pro_url = 'http://192.168.107.248:18089/api/v1'
|
||||||
lsky_pro_url = 'https://image.lqsjy.cn/api/v1'
|
|
||||||
upload_endpoint = '/upload'
|
upload_endpoint = '/upload'
|
||||||
token = '1|QJP2YEr9GIN52VBgmm5hCqV5DwBSvJLUKjnwcKB8'
|
token = '1|QJP2YEr9GIN52VBgmm5hCqV5DwBSvJLUKjnwcKB8'
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user