hcra/server/ohcapi.py

49 lines
1.4 KiB
Python

import os
import requests
import threading
import json
def get_img():
raw_img = requests.get('http://localhost:8080/get_capture.bmp').content
with open('full_img.bmp', 'wb+') as f:
f.write(raw_img)
os.system('convert full_img.bmp -resize 800x480 img.bmp')
with open('crops.json') as f:
crops = json.load(f)
threads = []
for crop in crops:
threads.append(threading.Thread(target=os.system, args=(f'convert img.bmp -crop {crop} pieces/{crop.split("+", 1)[1].replace("+", "x")}.jpg',)))
threads[-1].start()
for thread in threads:
thread.join()
os.system("md5sum -c oldlist 2>/dev/null | grep FAILED > newlist")
changed = []
with open('newlist') as f:
lines = f.readlines()
for line in lines:
changed.append(line.split(": ")[0].split('.')[0].split('/')[1])
os.system("md5sum pieces/* > oldlist")
return changed
def get_full_img():
raw_img = requests.get('http://localhost:8080/get_capture.bmp').content
with open('full_full.bmp', 'wb+') as f:
f.write(raw_img)
os.system('convert full_full.bmp -resize 800x480 full.jpg')
os.unlink('full_full.bmp')
return 'full.jpg'
def touch(x, y, w, is_long):
x = round(800 * x / w)
y = round(800 * y / w)
requests.get(f'http://localhost:8080/set_touch?x={x}&y={y}&hold={1 if is_long else 0}')