Для простоты я добавил оператор if, который проверяет, нашла ли предыдущая функция find
что-то, что qty_position = scan_barcode.find("'")
, если оно не нашло, тогда find
, если это существует qty_position = scan_barcode.find("")
Пожалуйста, смотрите ниже код , если это поможет.
def barcode_scanning(self):
"""Barcode decode."""
if self.barcode:
scan_barcode = self.barcode
barcode = scan_barcode
qty_position = scan_barcode.find("'")
if qty_position < 0:
qty_position = scan_barcode.find("")
price_position = scan_barcode.find('/')
if price_position > 0:
price = scan_barcode[:price_position].replace(',','.')
barcode = scan_barcode[price_position + 1:]
else:
price = 0
if qty_position > 0:
qty = scan_barcode[price_position + 1:qty_position].replace(',','.')
barcode = scan_barcode[qty_position + 1:]
else:
if float(price) > 0:
qty = 0
else:
qty = 1