2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-07-11 15:34:15 +00:00

Fix some issues with supplier barcode plugins (#5919)

* Remove unnecessary logging imports from supplier plugins

* Fix MPN filtering in get_supplier_parts

* Ensure digikey barcodes contain a SKU

* Keep running other barcode plugins if an error occured in one of them

* Fix typo (replace plugin with current_plugin)

* Fix class name
This commit is contained in:
Bobbe
2023-11-15 03:40:30 +01:00
committed by GitHub
parent dedf50da62
commit cf3d96a265
6 changed files with 28 additions and 17 deletions

View File

@ -3,16 +3,12 @@
This plugin can currently only match DigiKey barcodes to supplier parts.
"""
import logging
from django.utils.translation import gettext_lazy as _
from plugin import InvenTreePlugin
from plugin.base.barcodes.mixins import SupplierBarcodeData
from plugin.mixins import SettingsMixin, SupplierBarcodeMixin
logger = logging.getLogger('inventree')
class DigiKeyPlugin(SupplierBarcodeMixin, SettingsMixin, InvenTreePlugin):
"""Plugin to integrate the DigiKey API into Inventree."""
@ -41,6 +37,10 @@ class DigiKeyPlugin(SupplierBarcodeMixin, SettingsMixin, InvenTreePlugin):
if not (barcode_fields := self.parse_ecia_barcode2d(barcode_data)):
return None
# digikey barcodes should always contain a SKU
if "supplier_part_number" not in barcode_fields:
return None
return SupplierBarcodeData(
SKU=barcode_fields.get("supplier_part_number"),
MPN=barcode_fields.get("manufacturer_part_number"),

View File

@ -3,7 +3,6 @@
This plugin can currently only match LCSC barcodes to supplier parts.
"""
import logging
import re
from django.utils.translation import gettext_lazy as _
@ -12,8 +11,6 @@ from plugin import InvenTreePlugin
from plugin.base.barcodes.mixins import SupplierBarcodeData
from plugin.mixins import SettingsMixin, SupplierBarcodeMixin
logger = logging.getLogger('inventree')
class LCSCPlugin(SupplierBarcodeMixin, SettingsMixin, InvenTreePlugin):
"""Plugin to integrate the LCSC API into Inventree."""

View File

@ -3,16 +3,12 @@
This plugin currently only match Mouser barcodes to supplier parts.
"""
import logging
from django.utils.translation import gettext_lazy as _
from plugin import InvenTreePlugin
from plugin.base.barcodes.mixins import SupplierBarcodeData
from plugin.mixins import SettingsMixin, SupplierBarcodeMixin
logger = logging.getLogger('inventree')
class MouserPlugin(SupplierBarcodeMixin, SettingsMixin, InvenTreePlugin):
"""Plugin to integrate the Mouser API into Inventree."""

View File

@ -3,7 +3,6 @@
This plugin can currently only match TME barcodes to supplier parts.
"""
import logging
import re
from django.utils.translation import gettext_lazy as _
@ -12,8 +11,6 @@ from plugin import InvenTreePlugin
from plugin.base.barcodes.mixins import SupplierBarcodeData
from plugin.mixins import SettingsMixin, SupplierBarcodeMixin
logger = logging.getLogger('inventree')
class TMEPlugin(SupplierBarcodeMixin, SettingsMixin, InvenTreePlugin):
"""Plugin to integrate the TME API into Inventree."""