import re from db import Product, User from printer_helpers import print_bar_code, print_name_label from text_interface.helpermenus import Menu import conf class PrintLabelMenu(Menu): def __init__(self): Menu.__init__(self, 'Print a label', uses_db=True) self.help_text = ''' Prints out a product bar code on the printer Put it up somewhere in the vicinity. ''' def _execute(self): self.print_header() thing = self.input_thing('Prodct/User> ') if isinstance(thing, Product): if re.match(r"^[0-9]{13}$", thing.bar_code): bar_type = "ean13" elif re.match(r"^[0-9]{8}$", thing.bar_code): bar_type = "ean8" else: bar_type = "code39" print_bar_code(thing.bar_code, thing.name, barcode_type=bar_type, rotate=conf.label_rotate, printer_type="QL-700", label_type=conf.label_type) elif isinstance(thing, User): print_name_label(text=thing.name, label_type=conf.label_type, rotate=conf.label_rotate, printer_type="QL-700")