53 lines
1.8 KiB
Python
53 lines
1.8 KiB
Python
import argparse
|
|
import logging.config
|
|
import os
|
|
import shutil
|
|
import traceback
|
|
from time import sleep
|
|
|
|
from sqlalchemy import update
|
|
|
|
from db import MysqlSession
|
|
from db.mysql import ZxPhhd
|
|
from log import LOGGING_CONFIG
|
|
from my_email.error_email import send_error_email
|
|
from photo_review import auto_photo_review, SEND_ERROR_EMAIL
|
|
from util import common_util
|
|
|
|
# 照片审核自动识别脚本入口
|
|
if __name__ == '__main__':
|
|
program_name = '照片审核自动识别脚本'
|
|
logging.config.dictConfig(LOGGING_CONFIG)
|
|
|
|
logging.info('等待接口服务启动...')
|
|
sleep(10)
|
|
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument('--clean', default=False, type=bool, help='是否将识别中的案子改为待识别状态')
|
|
args = parser.parse_args()
|
|
if args.clean:
|
|
# 清除临时图片
|
|
for root, dirs, files in os.walk(common_util.get_tmp_img_path(''), topdown=False):
|
|
for name in dirs:
|
|
folder_path = os.path.join(root, name)
|
|
try:
|
|
shutil.rmtree(folder_path)
|
|
print(f"已删除文件夹: {folder_path}")
|
|
except Exception as e:
|
|
print(f"删除文件夹 {folder_path} 时出错: {e}")
|
|
# 启动时清除仍在识别中的案子
|
|
session = MysqlSession()
|
|
update_flag = (update(ZxPhhd).where(ZxPhhd.exsuccess_flag == '2').values(exsuccess_flag='1'))
|
|
session.execute(update_flag)
|
|
session.commit()
|
|
session.close()
|
|
logging.info('已释放残余的识别案子!')
|
|
|
|
try:
|
|
logging.info(f'【{program_name}】开始运行')
|
|
auto_photo_review.main()
|
|
except Exception as e:
|
|
logging.getLogger('error').error(traceback.format_exc())
|
|
if SEND_ERROR_EMAIL:
|
|
send_error_email(program_name, repr(e), traceback.format_exc())
|