Coverage for src/artemis_sg/vendor.py: 83%
22 statements
« prev ^ index » next coverage.py v7.3.2, created at 2023-10-05 09:33 -0700
« prev ^ index » next coverage.py v7.3.2, created at 2023-10-05 09:33 -0700
1# -*- coding: utf-8 -*-
3import logging
4import sys
6from artemis_sg.config import CFG
9class Vendor:
10 def __init__(self, code):
11 self.vendor_code = code
12 self.vendor_name = ""
13 self.isbn_key = ""
15 def _filter_database_data(self, all_data):
16 namespace = f"{type(self).__name__}.{self._filter_database_data.__name__}"
17 try:
18 return next( 18 ↛ exitline 18 didn't jump to the function exit
19 (item for item in all_data if item["code"] == self.vendor_code), None
20 )
21 except KeyError:
22 logging.error(f"{namespace}: Vendor code not found in database")
23 sys.exit(1)
25 def set_vendor_data(self):
26 """Create Vendor object class"""
27 namespace = f"{type(self).__name__}.{self.set_vendor_data.__name__}"
29 all_data = CFG["asg"]["vendors"]
30 vendor_data = self._filter_database_data(all_data)
31 logging.debug(f"{namespace}: Vendor data is: '{vendor_data}'")
32 self.vendor_name = vendor_data["name"]
33 self.isbn_key = vendor_data["isbn_key"].upper()