Commit graph

598 commits

Author SHA1 Message Date
Jan Böhmer
63893ffabe Allow to automatically map categories from info providers to local categories using the "alternative names" system
This partially addresses issues discussed in discussion #808
2024-12-31 18:31:20 +01:00
Treeed
92e4976396
Show when parts from info provider already exist (#810)
* added button to show existing part with same manufacturer and mpn in provider list

* added button to edit existing part in provider list

* added docstring and comments

* replaced unnecessary double quotes

* Introduced a new twig variable localPart to split up the result

* Highlight a row, if the part is already existing

* Made buttons translatable

* Improved styling of the buttons and added a badge to show a hint

* Extracted database queries for part matching into its own service and optimized the query reducing the required queries by factor 2

* Allow to find existing parts via the stored providerReference

This should allow the database to more quickly find entries

* Allow to use part name and manufacturer alternative names for mapping

* Added a button to update a local part from the info provider and moved some buttons into dropdown menu

---------

Co-authored-by: jona <a@b.c>
Co-authored-by: Jan Böhmer <mail@jan-boehmer.de>
2024-12-31 18:03:36 +01:00
Jan Böhmer
164efb0551 Fixed phpstan error with NodesListBuilder 2024-12-29 13:14:00 +01:00
Jan Böhmer
a37b8cbb15 Fixed introduced bug in node flattening 2024-12-28 23:19:55 +01:00
Jan Böhmer
946032a101 Fixed phpstan analysis issues and bad code that showed up with phpstan 2.0 2024-12-28 23:08:08 +01:00
Vedran Vekic
0f92a69b03
Rewrite LCSC datasheet URL (#795) 2024-12-10 14:32:23 +01:00
Jan Böhmer
e223078af9 Added a custom function to make PostgresSQL searches case insensitive
This is required only for postgres as every other database is case invariant by default. But to achieve a portable way, we implement it via a custom DQL function.

This fixes issue #784
2024-12-02 00:17:54 +01:00
Jan Böhmer
5e76451d46 Try to guess the character encodings and convert it to UTF-8 on importing
This should fix issue #749
2024-11-03 22:27:24 +01:00
Jan Böhmer
86d3f87694 [Digikey provider] Do not try to interpret certain parameters (like packages) as numbers
This fixes issue #682
2024-09-09 20:44:09 +02:00
Jan Böhmer
b4e8136618 Fixed problem with undeleting elements containing an embedded and propertly restore the infos of the embed
This fixes issue #685
2024-09-09 20:26:26 +02:00
Jan Böhmer
87a518703f Escape spaces in unnwrapped urls to avoid invalid URLs 2024-09-09 16:23:12 +02:00
Jan Böhmer
dd03ca943d Fixed phpstan issues 2024-09-09 14:52:18 +02:00
Jan Böhmer
6997861811 [OEMSecrets provider] Extract real URLs and remove tracking parts 2024-09-09 14:52:09 +02:00
Pasquale D'Orsi
1cc1530b20
OEMSecrets provider interface v.1.0 (#679)
* OEMSecrets provider interface v.1.0

New class for interacting with the OEMSecrets (https://www.oemsecrets.com) API version 3.0.1.

* Refactored info provider to be stateless and independent from session, optimized Part-DB API usage, and fixed PHPStan issues.

Refactored info provider to be stateless and independent from session, now use Psr\Cache, fixed issues identified by PHPStan, additional minor enhancements and bug fixes.

* Prefix cache keys with oemsecrets_ to avoid key collissions

* Use uniqid with more entropy to reduce probability of collisions

* Made $resultData local as it is only used inside searchByKeyword

* Use the parameter name $id from interface declaration for getDetails to avoid problems with named arguments

* Use unicode modifier for preg_match to avoid problems when parameters contain non-unicode strings

* Various small code quality improvements

* Try to retrieve the part from the API in getDetails, if the DTO was not cached before

* Improved code formatting

* Channged OEMSecret default country to DE to be consistent with other default values

* Do not call gc_collect_cycles in the loop to process the results, but only after all processBatch calls

---------

Co-authored-by: Jan Böhmer <mail@jan-boehmer.de>
2024-09-09 00:59:44 +02:00
Jan Böhmer
e231404128 Load HTMLExtension in SandboxedTwig, so that the data_uri filter can be used in twig labels
This fixes issue #665
2024-08-23 22:06:37 +02:00
frank-f
fd521acaa4
Update LCSCProvider field for real datasheet URL (#670) 2024-08-21 17:35:55 +02:00
Jan Böhmer
d6ff22fc44 Show in server info page which natural sorting method is used
This should ease debugging
2024-07-28 14:13:34 +02:00
Jan Böhmer
528d0c7a26 Added tests for TimeTravel service and fixed applyEntry function for embeddded fields 2024-06-23 17:43:10 +02:00
Jan Böhmer
bbf7222a6a Improved EntityExporter to handle recursive exports 2024-06-23 00:11:38 +02:00
Jan Böhmer
f6e955b487 Hide mouser parts with an invalid product ID to avoid the issue described in #616 2024-06-22 23:37:50 +02:00
Jan Böhmer
b7b941e3a1 Fixed error handling of structural data import
This was the reason for the exception in #632
2024-06-22 22:55:15 +02:00
Jan Böhmer
235d572f8c Use DatetimeImmutable instead of DateTime wherever possible 2024-06-22 17:36:54 +02:00
Jan Böhmer
20f32c7f12 Applied rector suggestions 2024-06-22 00:31:43 +02:00
Jan Böhmer
07c7f07c35 Removed usage of partial flush which is not supported with the recent doctrine ORM version 2024-06-10 21:25:23 +02:00
Jan Böhmer
afb816cc41 Use the getReference function in TimeTravel service instead of the removed getPartialReference()
This is probably the better choice anyway
2024-06-09 23:58:03 +02:00
Jan Böhmer
60325e797d Fixed the use of the removed ClassMetadataInfo constants 2024-06-09 23:45:22 +02:00
Jan Böhmer
7d9be5ae76 Fixed wrong casing of SQLitePlatform 2024-06-09 23:36:00 +02:00
Jan Böhmer
dc14b58d73 Fixed DBInfoHelper compatibility with postgres 2024-06-09 00:46:23 +02:00
SapuSeven
4eb223c401
Update LCSC API URL (#612) 2024-05-12 18:21:23 +02:00
Jan Böhmer
a96c10a13e Made KiCAD bom import independent from the language of the header rows
This fixes issue #604
2024-04-29 00:09:10 +02:00
frank-f
7a6b045030
Improve parameter parsing (#583)
* DigiKey: Skip empty values

* Move improved range detection from LCSCProvider to ParameterDTO class
Improve numeric value detection by moving extra info to value_text

* ParameterDTO: Add micro unit prefix

* Bring $value_text2 to a defined state

* ParameterDTO: Don't overwrite $unit if it's not empty

* ParameterDTO: Don't overwrite $unit if it's not empty

* Correct some inaccuacies in comments

* Added tests and fixed certain edge cases in parsing parameters

* Added more tests for parameter parsing

---------

Co-authored-by: Jan Böhmer <mail@jan-boehmer.de>
2024-04-15 22:33:27 +02:00
frank-f
9770ffa46b
LCSC: Follow first 'pdfUrl' link to get real datasheet URL (#582)
* Follow first 'pdfUrl' link to get real datasheet URL

* Fix @param

* Fix @param

* Remove User-Agent header
It's not needed - LCSC was just having some server troubles over the weekend

* Added comment explaining the json_decode in getRealDatasheetUrl

---------

Co-authored-by: Jan Böhmer <mail@jan-boehmer.de>
2024-04-03 12:38:20 +02:00
Jan Böhmer
488c8c5526 KiCAD API: Inherit the reference prefix from category if it was defined 2024-03-16 18:31:35 +01:00
Jan Böhmer
0d9c86fcd3 Added brackets around if body 2024-03-11 22:24:21 +01:00
Frank Fenor
5454bb5b07
Avoid throwing an exception if Content-Disposition header doesn't exist or contains illegal things 2024-03-11 19:16:01 +01:00
Jan Böhmer
ed4728fdb1 Correcty handle already existing elements in mass creation
This fixes issue #543
2024-03-10 00:51:37 +01:00
Jan Böhmer
59c4248efe Strip HTML tags from more LCSC fields
This should hopefully fix issue #553
2024-03-09 23:09:49 +01:00
Jan Böhmer
a5b101a0ea Fixed error, when retrieving prices in USD from LCSC
This fixes issue #552. It seems that LCSC changed their currency symbol for US-Dollar
2024-03-09 22:54:12 +01:00
Jan Böhmer
c989be2719 Retrieve the part mass from mouser API if available 2024-03-09 21:34:05 +01:00
Jan Böhmer
838997b959 Updated the list of allowed object methods in twig label mode 2024-03-06 21:39:49 +01:00
Jan Böhmer
38b5a84c4f Added some more useful variables to the twig label generator 2024-03-06 21:11:31 +01:00
Jan Böhmer
dff1ef04bf Added placeholders filter to utilize the placeholders in twig mode
Fixes #546
2024-03-06 21:00:49 +01:00
Jan Böhmer
757201cafa Allow access of twig sandbox to a few more extensions and functions 2024-03-06 20:21:07 +01:00
Jan Böhmer
1da3225e1d Renamed SandboxedTwigProvider to SandboxedTwig Factory 2024-03-06 20:08:35 +01:00
Jan Böhmer
a2cd5652d2 Updated the list of tags, filters and functions which are allowed inside the sandboxed twig 2024-03-06 20:03:12 +01:00
Jan Böhmer
113e5b3bcd Escape not only the pathes of FileDTO objects returned by info providers but the preview image url too.
This fixes the second issue in #521
2024-03-05 22:52:27 +01:00
Jan Böhmer
925f5c0ce0 Fixed phpstan bug 2024-03-04 22:42:24 +01:00
Jan Böhmer
2bcbe1d0be Made mouser price info parsing more flexible
Austrian mouser returned some other formatted string, which caused problems on the old method. This fixes issue #540
2024-03-04 22:38:15 +01:00
Jan Böhmer
0e68f0783f Assume that a mouser part is active, if mouser has parts instock even if it is marked as "new part"
Related to #540
2024-03-04 22:18:35 +01:00
Jan Böhmer
d49bb1f4b5 Removed unused import statements 2024-03-03 20:34:36 +01:00