Coverage for src/backend/InvenTree/plugin/builtin/suppliers/digikey.py: 93%
14 statements
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-07 17:47 +0000
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-07 17:47 +0000
1"""The DigiKeyBarcodePlugin is meant to integrate the DigiKey API into InvenTree.
3This plugin can currently only match DigiKey barcodes to supplier parts.
4"""
6from django.utils.translation import gettext_lazy as _
8from plugin import InvenTreePlugin
9from plugin.mixins import SettingsMixin, SupplierBarcodeMixin
12class DigiKeyPlugin(SupplierBarcodeMixin, SettingsMixin, InvenTreePlugin):
13 """Plugin to integrate the DigiKey API into InvenTree."""
15 NAME = 'DigiKeyBarcodePlugin'
16 SLUG = 'digikeyplugin'
17 TITLE = _('Supplier Integration - DigiKey')
18 DESCRIPTION = _('Provides support for scanning DigiKey barcodes')
19 VERSION = '1.0.1'
20 AUTHOR = _('InvenTree contributors')
22 DEFAULT_SUPPLIER_NAME = 'DigiKey'
24 SETTINGS = {
25 'SUPPLIER_ID': {
26 'name': _('Supplier'),
27 'description': _("The Supplier which acts as 'DigiKey'"),
28 'model': 'company.company',
29 'model_filters': {'is_supplier': True},
30 }
31 }
33 def extract_barcode_fields(self, barcode_data) -> dict[str, str]:
34 """Extract barcode fields from a DigiKey plugin."""
35 return self.parse_ecia_barcode2d(barcode_data)