Skip to content

Commit

Permalink
Merge 80c60b8 into 6318053
Browse files Browse the repository at this point in the history
  • Loading branch information
eeintech committed Feb 3, 2024
2 parents 6318053 + 80c60b8 commit 82a4e9a
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 7 deletions.
2 changes: 1 addition & 1 deletion kintree/database/inventree_interface.py
Original file line number Diff line number Diff line change
Expand Up @@ -457,7 +457,7 @@ def inventree_fuzzy_company_match(name: str) -> str:
for company_name in inventree_companies.keys():
cprint(f'{name.lower()} == {company_name.lower()} % {fuzz.partial_ratio(name.lower(), company_name.lower())}',
silent=settings.HIDE_DEBUG)
if fuzz.partial_ratio(name.lower(), company_name.lower()) == 100:
if fuzz.partial_ratio(name.lower(), company_name.lower()) == 100 and len(name) == len(company_name):
return company_name

return name
Expand Down
13 changes: 9 additions & 4 deletions kintree/gui/views/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -360,15 +360,20 @@ def run_search(self, e):
self.push_data()
self.page.splash.visible = False

if not self.data['manufacturer_part_number'] and not self.data['custom_part']:
if not self.data['supplier_part_number'] and not self.data['custom_part']:
self.show_dialog(
d_type=DialogType.ERROR,
message='Part not found',
)
elif not self.data['manufacturer_part_number']:
self.show_dialog(
d_type=DialogType.ERROR,
message='Found part has no manufacturer part number',
)
elif self.data['searched_part_number'].lower() != self.data['manufacturer_part_number'].lower():
self.show_dialog(
d_type=DialogType.WARNING,
message='Found part number does not match the requested part number',
message='Found manufacturer part number does not match the requested part number',
)
self.page.update()
return
Expand Down Expand Up @@ -915,7 +920,7 @@ def check_snapeda(self, e):
if not data_from_views.get('Part Search', {}).get('manufacturer_part_number', ''):
self.show_dialog(
d_type=DialogType.ERROR,
message='Missing Part Data',
message='Missing Manufacturer Part Number',
)
return

Expand Down Expand Up @@ -1203,7 +1208,7 @@ def create_part(self, e=None):
part_number = data_from_views['Part Search'].get('manufacturer_part_number', None)
if not custom:
if not part_number:
self.show_dialog(DialogType.ERROR, 'Missing Part Number')
self.show_dialog(DialogType.ERROR, 'Missing Manufacturer Part Number')
return
else:
# Update IPN (later overwritten)
Expand Down
6 changes: 4 additions & 2 deletions kintree/search/tme_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,14 +53,16 @@ def setup_environment(force=False) -> bool:

# Based on TME API snippets mentioned in API documentation: https://developers.tme.eu/documentation/download
# https://github.com/tme-dev/TME-API/blob/master/Python/call.py
def tme_api_request(endpoint, tme_api_settings, part_number, api_host='https://api.tme.eu', format='json'):
def tme_api_request(endpoint, tme_api_settings, part_number, api_host='https://api.tme.eu', format='json', **kwargs):
TME_API_TOKEN = tme_api_settings.get('TME_API_TOKEN', None)
TME_API_SECRET = tme_api_settings.get('TME_API_SECRET', None)

params = collections.OrderedDict()
params['Country'] = tme_api_settings.get('TME_API_COUNTRY', 'US')
params['Language'] = tme_api_settings.get('TME_API_LANGUAGE', 'EN')
params['SymbolList[0]'] = part_number
if kwargs.get('currency', None):
params['Currency'] = kwargs.get('currency')
if not TME_API_TOKEN and not TME_API_SECRET:
TME_API_TOKEN = os.environ.get('TME_API_TOKEN', None)
TME_API_SECRET = os.environ.get('TME_API_SECRET', None)
Expand Down Expand Up @@ -136,7 +138,7 @@ def search_product(response):
part_info['parameters'][param['ParameterName']] = param['ParameterValue']

# query the prices
response = download(tme_api_request('/Products/GetPrices', tme_api_settings, part_number))
response = download(tme_api_request('/Products/GetPrices', tme_api_settings, part_number, currency='USD'))
# check if accidentally no data returned
if response is None or response['Status'] != 'OK':
return part_info
Expand Down

0 comments on commit 82a4e9a

Please sign in to comment.