Изменил библиотеку для работы со штрих кодами. Увеличена скорость генерации штрихкодов

dev
RUIS 2025-05-05 23:06:06 +00:00 committed by GitHub
parent c9aa1a6843
commit 2d170f39e0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 16 additions and 13 deletions

View File

@ -1,20 +1,21 @@
version = (1, 0, 0) __version__ = (2, 0, 0)
# meta developer: @RUIS_VlP # meta developer: @RUIS_VlP
# requires: treepoem pillow # requires: python-barcode[images]
import barcode
from barcode.writer import ImageWriter
from .. import loader, utils from .. import loader, utils
import treepoem
import uuid import uuid
import os import os
from PIL import Image, ImageOps
async def generate_barcode(data, filename, border_size=20): async def generate_barcode(data, filename):
barcode = treepoem.generate_barcode( options = {
barcode_type="code128", 'write_text': False,
data=data 'quiet_zone': 2,
) 'module_height': 15.0
barcode_with_border = ImageOps.expand(barcode, border=border_size, fill="white") }
barcode_with_border.save(filename) code128 = barcode.get('code128', data, writer=ImageWriter())
code128.save(filename, options)
@loader.tds @loader.tds
class BarcodeGeneratorMod(loader.Module): class BarcodeGeneratorMod(loader.Module):
@ -28,8 +29,10 @@ class BarcodeGeneratorMod(loader.Module):
async def barcodecmd(self, message): async def barcodecmd(self, message):
"""<код> - генерирует штрих-код""" """<код> - генерирует штрих-код"""
args = utils.get_args_raw(message) args = utils.get_args_raw(message)
if not args:
args = " "
randuuid = str(uuid.uuid4()) randuuid = str(uuid.uuid4())
filename = f"{randuuid}.png" filename = f"{randuuid}.png"
await generate_barcode(args, filename) await generate_barcode(args, randuuid)
await utils.answer_file(message, filename, caption=args) await utils.answer_file(message, filename, caption=args)
os.remove(filename) os.remove(filename)