Skip to content

Commit fa48d7e

Browse files
[autofix.ci] apply automated fixes
1 parent f4d0a84 commit fa48d7e

1 file changed

Lines changed: 7 additions & 7 deletions

File tree

src/lfx/src/lfx/_assets/component_index.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -102061,20 +102061,20 @@
102061102061
"icon": "braces",
102062102062
"legacy": true,
102063102063
"metadata": {
102064-
"code_hash": "2ad980f8bac3",
102064+
"code_hash": "cf5cd4144fff",
102065102065
"dependencies": {
102066102066
"dependencies": [
102067-
{
102068-
"name": "jq",
102069-
"version": "1.11.0"
102070-
},
102071102067
{
102072102068
"name": "json_repair",
102073102069
"version": "0.30.3"
102074102070
},
102075102071
{
102076102072
"name": "lfx",
102077102073
"version": null
102074+
},
102075+
{
102076+
"name": "jq",
102077+
"version": "1.11.0"
102078102078
}
102079102079
],
102080102080
"total_dependencies": 3
@@ -102121,7 +102121,7 @@
102121102121
"show": true,
102122102122
"title_case": false,
102123102123
"type": "code",
102124-
"value": "import json\nfrom json import JSONDecodeError\n\nimport jq\nfrom json_repair import repair_json\n\nfrom lfx.custom.custom_component.component import Component\nfrom lfx.inputs.inputs import HandleInput, MessageTextInput\nfrom lfx.io import Output\nfrom lfx.log.logger import logger\nfrom lfx.schema.data import Data\nfrom lfx.schema.message import Message\n\n\nclass ParseJSONDataComponent(Component):\n display_name = \"Parse JSON\"\n description = \"Convert and extract JSON fields.\"\n icon = \"braces\"\n name = \"ParseJSONData\"\n legacy: bool = True\n replacement = [\"processing.ParserComponent\"]\n\n inputs = [\n HandleInput(\n name=\"input_value\",\n display_name=\"Input\",\n info=\"Data object to filter.\",\n required=True,\n input_types=[\"Message\", \"Data\", \"JSON\"],\n ),\n MessageTextInput(\n name=\"query\",\n display_name=\"JQ Query\",\n info=\"JQ Query to filter the data. The input is always a JSON list.\",\n required=True,\n ),\n ]\n\n outputs = [\n Output(display_name=\"Filtered Data\", name=\"filtered_data\", method=\"filter_data\"),\n ]\n\n def _parse_data(self, input_value) -> str:\n if isinstance(input_value, Message) and isinstance(input_value.text, str):\n return input_value.text\n if isinstance(input_value, Data):\n return json.dumps(input_value.data)\n return str(input_value)\n\n def filter_data(self) -> list[Data]:\n to_filter = self.input_value\n if not to_filter:\n return []\n # Check if input is a list\n if isinstance(to_filter, list):\n to_filter = [self._parse_data(f) for f in to_filter]\n else:\n to_filter = self._parse_data(to_filter)\n\n # If input is not a list, don't wrap it in a list\n if not isinstance(to_filter, list):\n to_filter = repair_json(to_filter)\n try:\n to_filter_as_dict = json.loads(to_filter)\n except JSONDecodeError:\n try:\n to_filter_as_dict = json.loads(repair_json(to_filter))\n except JSONDecodeError as e:\n msg = f\"Invalid JSON: {e}\"\n raise ValueError(msg) from e\n else:\n to_filter = [repair_json(f) for f in to_filter]\n to_filter_as_dict = []\n for f in to_filter:\n try:\n to_filter_as_dict.append(json.loads(f))\n except JSONDecodeError:\n try:\n to_filter_as_dict.append(json.loads(repair_json(f)))\n except JSONDecodeError as e:\n msg = f\"Invalid JSON: {e}\"\n raise ValueError(msg) from e\n to_filter = to_filter_as_dict\n\n full_filter_str = json.dumps(to_filter_as_dict)\n\n logger.info(\"to_filter: %s\", to_filter)\n\n results = jq.compile(self.query).input_text(full_filter_str).all()\n logger.info(\"results: %s\", results)\n return [Data(data=value) if isinstance(value, dict) else Data(text=str(value)) for value in results]\n"
102124+
"value": "import json\nfrom json import JSONDecodeError\n\nfrom json_repair import repair_json\n\nfrom lfx.custom.custom_component.component import Component\nfrom lfx.inputs.inputs import HandleInput, MessageTextInput\nfrom lfx.io import Output\nfrom lfx.log.logger import logger\nfrom lfx.schema.data import Data\nfrom lfx.schema.message import Message\n\n\nclass ParseJSONDataComponent(Component):\n display_name = \"Parse JSON\"\n description = \"Convert and extract JSON fields.\"\n icon = \"braces\"\n name = \"ParseJSONData\"\n legacy: bool = True\n replacement = [\"processing.ParserComponent\"]\n\n inputs = [\n HandleInput(\n name=\"input_value\",\n display_name=\"Input\",\n info=\"Data object to filter.\",\n required=True,\n input_types=[\"Message\", \"Data\", \"JSON\"],\n ),\n MessageTextInput(\n name=\"query\",\n display_name=\"JQ Query\",\n info=\"JQ Query to filter the data. The input is always a JSON list.\",\n required=True,\n ),\n ]\n\n outputs = [\n Output(display_name=\"Filtered Data\", name=\"filtered_data\", method=\"filter_data\"),\n ]\n\n def _parse_data(self, input_value) -> str:\n if isinstance(input_value, Message) and isinstance(input_value.text, str):\n return input_value.text\n if isinstance(input_value, Data):\n return json.dumps(input_value.data)\n return str(input_value)\n\n def filter_data(self) -> list[Data]:\n to_filter = self.input_value\n if not to_filter:\n return []\n # Check if input is a list\n if isinstance(to_filter, list):\n to_filter = [self._parse_data(f) for f in to_filter]\n else:\n to_filter = self._parse_data(to_filter)\n\n # If input is not a list, don't wrap it in a list\n if not isinstance(to_filter, list):\n to_filter = repair_json(to_filter)\n try:\n to_filter_as_dict = json.loads(to_filter)\n except JSONDecodeError:\n try:\n to_filter_as_dict = json.loads(repair_json(to_filter))\n except JSONDecodeError as e:\n msg = f\"Invalid JSON: {e}\"\n raise ValueError(msg) from e\n else:\n to_filter = [repair_json(f) for f in to_filter]\n to_filter_as_dict = []\n for f in to_filter:\n try:\n to_filter_as_dict.append(json.loads(f))\n except JSONDecodeError:\n try:\n to_filter_as_dict.append(json.loads(repair_json(f)))\n except JSONDecodeError as e:\n msg = f\"Invalid JSON: {e}\"\n raise ValueError(msg) from e\n to_filter = to_filter_as_dict\n\n full_filter_str = json.dumps(to_filter_as_dict)\n\n logger.info(\"to_filter: %s\", to_filter)\n\n try:\n import jq\n except ImportError:\n msg = \"jq is required for Parse JSON. Install with: pip install jq\"\n raise ImportError(msg) from None\n\n results = jq.compile(self.query).input_text(full_filter_str).all()\n logger.info(\"results: %s\", results)\n return [Data(data=value) if isinstance(value, dict) else Data(text=str(value)) for value in results]\n"
102125102125
},
102126102126
"input_value": {
102127102127
"_input_type": "HandleInput",
@@ -117836,6 +117836,6 @@
117836117836
"num_components": 354,
117837117837
"num_modules": 97
117838117838
},
117839-
"sha256": "02f57aa656a8b35375b6ad34d68e4a054f582e7fece325ee538df9d183044bc7",
117839+
"sha256": "84f6f6d00ef76cb536616c7dc63cec2ddab4c0ad18985d1f8361ae8a131f733e",
117840117840
"version": "0.4.0"
117841117841
}

0 commit comments

Comments
 (0)