Fixes
This commit is contained in:
16
main.py
16
main.py
@@ -16,36 +16,32 @@ from aiomqtt import Client
|
|||||||
|
|
||||||
VENDOR_ID = 0x0416
|
VENDOR_ID = 0x0416
|
||||||
PRODUCT_ID = 0x5011
|
PRODUCT_ID = 0x5011
|
||||||
STATIC_URL = "https://static.spaceport.dns.t0.vc/"
|
STATIC_URL = 'https://static.spaceport.dns.t0.vc/'
|
||||||
PRINTER_WIDTH = 384 # Set to your printer's pixel width (common: 384 or 576)
|
PRINTER_WIDTH = 384
|
||||||
|
|
||||||
|
|
||||||
def print_picture(filename, p):
|
def print_picture(filename, p):
|
||||||
|
logging.info('New picture submitted: %s', filename)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
p.hw('INIT')
|
p.hw('INIT')
|
||||||
response = requests.get(STATIC_URL + filename, timeout=5)
|
response = requests.get(STATIC_URL + filename, timeout=5)
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
|
|
||||||
print("New image detected, printing...")
|
print('New image detected, printing...')
|
||||||
last_image_content = response.content
|
last_image_content = response.content
|
||||||
|
|
||||||
img = Image.open(io.BytesIO(response.content))
|
img = Image.open(io.BytesIO(response.content))
|
||||||
|
|
||||||
if img.mode == 'RGBA':
|
|
||||||
bg = Image.new('RGB', img.size, (255, 255, 255))
|
|
||||||
bg.paste(img, mask=img.split()[3])
|
|
||||||
img = bg
|
|
||||||
|
|
||||||
# Convert with dithering
|
# Convert with dithering
|
||||||
img = img.convert('1', dither=Image.FLOYDSTEINBERG)
|
img = img.convert('1', dither=Image.FLOYDSTEINBERG)
|
||||||
|
|
||||||
# Print image
|
# Print image
|
||||||
p.image(img)
|
p.image(img)
|
||||||
p.text('\n\n\n')
|
|
||||||
p.cut()
|
p.cut()
|
||||||
|
|
||||||
except requests.exceptions.RequestException as e:
|
except requests.exceptions.RequestException as e:
|
||||||
print(f"Error downloading image: {e}")
|
print(f'Error downloading image: {e}')
|
||||||
|
|
||||||
|
|
||||||
async def process_mqtt(message, p):
|
async def process_mqtt(message, p):
|
||||||
|
|||||||
Reference in New Issue
Block a user