From 66027be2b644e2911428283d5cc39b6728b27841 Mon Sep 17 00:00:00 2001 From: xyj <10908227994@qq.com> Date: Mon, 4 Dec 2023 13:22:54 +0800 Subject: [PATCH] test --- MQTT.py | 2 +- ceshi.py | 6 ++---- tool.py | 58 +++++++++++++++----------------------------------------- 3 files changed, 18 insertions(+), 48 deletions(-) diff --git a/MQTT.py b/MQTT.py index 90f7ced..d4f9577 100644 --- a/MQTT.py +++ b/MQTT.py @@ -35,7 +35,7 @@ class MQTT: client.publish('error', payload='No Such Type', qos=0) def __init__(self): - self.client = mqtt.Client() + self.client = mqtt.Client(client_id='') self.client.username_pw_set("demo", "123456") # Specify callback function self.client.on_connect = self.on_connect diff --git a/ceshi.py b/ceshi.py index 5d8b343..cbd7c10 100644 --- a/ceshi.py +++ b/ceshi.py @@ -384,16 +384,14 @@ def on_connect(client, userdata, flags, rc): from threading import Thread if rc == 0: # print("连接成功,执行数据推送和本地存储") - nt1 = Thread(target=t1) - nt1.start() + Thread(target=t1).start() else: if times != 0: times -= 1 client.reconnect() else: # print("3次失败,执行本地存储") - nt2 = Thread(target=t2) - nt2.start() + Thread(target=t2).start() def t2(): diff --git a/tool.py b/tool.py index b3f1271..840a887 100644 --- a/tool.py +++ b/tool.py @@ -1,9 +1,13 @@ import datetime import json +import os import subprocess +import requests from fastapi import FastAPI +mp4_path = '/home/pi/mp4' + def push_stream(): subprocess.Popen(['/bin/bash start_push.sh'], shell=True) @@ -24,50 +28,18 @@ def update(): subprocess.Popen(['/bin/bash update.sh'], shell=True) -def get_list_record(msg, client): - import os - files = [] - for filename in os.listdir('mp4'): - # 检查文件名是否符合格式 %Y-%m-%d_%H-%M-%S - if filename.startswith('2') and '-' in filename and '_' in filename: - # 提取日期和时间 - date_str = filename.split('_')[0] # 例如 '2023-06-23' - time_str = filename.split('_')[1] # 例如 '06' - - # 将日期和时间字符串转换为 datetime 对象 - file_time = datetime.datetime(int(date_str[:4]), int(date_str[5:7]), - int(date_str[8:10]), int(time_str[:2]), - int(time_str[3:5])) - files.append(file_time) +def get_list_record(): + print(os.listdir(mp4_path)) + data = { + "data": os.listdir(mp4_path) + } + requests.post("http://shop.lihaink.cn/api/index/file_list", json=data) def get_record(msg, client): - import requests - create_time = json.loads(msg.payload.decode('utf-8'))["data"] - # create_time = '2023-12-01_19-07-58' - import os - create_time_date_str = create_time.split('_')[0] - create_time_time_str = create_time.split('_')[1] - create_time_ = datetime.datetime(int(create_time_date_str[:4]), int(create_time_date_str[5:7]), - int(create_time_date_str[8:10]), int(create_time_time_str[:2]), - int(create_time_time_str[3:5])) - file_name_ = '' - for filename in os.listdir('mp4'): - # 检查文件名是否符合格式 %Y-%m-%d_%H-%M-%S - if filename.startswith('2') and '-' in filename and '_' in filename: - # 提取日期和时间 - date_str = filename.split('_')[0] # 例如 '2023-06-23' - time_str = filename.split('_')[1] # 例如 '06' - - # 将日期和时间字符串转换为 datetime 对象 - file_time = datetime.datetime(int(date_str[:4]), int(date_str[5:7]), - int(date_str[8:10]), int(time_str[:2]), - int(time_str[3:5])) - # 比较文件时间和创建时间 - if file_time == create_time_: - file_name_ = filename - if file_name_ == '': - client.publish('error', payload='没有该文件', qos=0) + filename = json.loads(msg.payload.decode('utf-8'))["data"] + if filename is None or filename == '': + client.publish('error', payload='没有该文件', qos=1) return - files = {"file": open(file_name_, 'rb'), "Content-Type": "application/octet-stream"} - requests.post("https://shop.lihaink.cn/api/upload/image/field", files=files) + files = {filename: open(os.path.join(mp4_path, filename), 'rb'), "Content-Type": "application/octet-stream"} + requests.post("https://shop.lihaink.cn/api/index/upload", files=files)