Recognize json as plain text (if no other handlers are present). (#261)
* Recognize json as plain text (if no other handlers are present).
This commit is contained in:
@@ -173,7 +173,10 @@ class PlainTextConverter(DocumentConverter):
|
|||||||
# Only accept text files
|
# Only accept text files
|
||||||
if content_type is None:
|
if content_type is None:
|
||||||
return None
|
return None
|
||||||
elif "text/" not in content_type.lower():
|
elif all(
|
||||||
|
not content_type.lower().startswith(type_prefix)
|
||||||
|
for type_prefix in ["text/", "application/json"]
|
||||||
|
):
|
||||||
return None
|
return None
|
||||||
|
|
||||||
text_content = str(from_path(local_path).best())
|
text_content = str(from_path(local_path).best())
|
||||||
|
|||||||
10
tests/test_files/test.json
vendored
Normal file
10
tests/test_files/test.json
vendored
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"key1": "string_value",
|
||||||
|
"key2": 1234,
|
||||||
|
"key3": [
|
||||||
|
"list_value1",
|
||||||
|
"list_value2"
|
||||||
|
],
|
||||||
|
"5b64c88c-b3c3-4510-bcb8-da0b200602d8": "uuid_key",
|
||||||
|
"uuid_value": "9700dc99-6685-40b4-9a3a-5e406dcb37f3"
|
||||||
|
}
|
||||||
@@ -145,6 +145,11 @@ LLM_TEST_STRINGS = [
|
|||||||
"5bda1dd6",
|
"5bda1dd6",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
JSON_TEST_STRINGS = [
|
||||||
|
"5b64c88c-b3c3-4510-bcb8-da0b200602d8",
|
||||||
|
"9700dc99-6685-40b4-9a3a-5e406dcb37f3",
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
# --- Helper Functions ---
|
# --- Helper Functions ---
|
||||||
def validate_strings(result, expected_strings, exclude_strings=None):
|
def validate_strings(result, expected_strings, exclude_strings=None):
|
||||||
@@ -257,6 +262,10 @@ def test_markitdown_local() -> None:
|
|||||||
result = markitdown.convert(os.path.join(TEST_FILES_DIR, "test_outlook_msg.msg"))
|
result = markitdown.convert(os.path.join(TEST_FILES_DIR, "test_outlook_msg.msg"))
|
||||||
validate_strings(result, MSG_TEST_STRINGS)
|
validate_strings(result, MSG_TEST_STRINGS)
|
||||||
|
|
||||||
|
# Test JSON processing
|
||||||
|
result = markitdown.convert(os.path.join(TEST_FILES_DIR, "test.json"))
|
||||||
|
validate_strings(result, JSON_TEST_STRINGS)
|
||||||
|
|
||||||
# Test input with leading blank characters
|
# Test input with leading blank characters
|
||||||
input_data = b" \n\n\n<html><body><h1>Test</h1></body></html>"
|
input_data = b" \n\n\n<html><body><h1>Test</h1></body></html>"
|
||||||
result = markitdown.convert_stream(io.BytesIO(input_data))
|
result = markitdown.convert_stream(io.BytesIO(input_data))
|
||||||
|
|||||||
Reference in New Issue
Block a user