feedparser-rs 0.5.3__tar.gz → 0.5.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/Cargo.lock +19 -44
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/Cargo.toml +3 -3
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/PKG-INFO +1 -1
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/namespace/threading.rs +1 -1
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/parser/atom.rs +19 -10
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/parser/common.rs +9 -3
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/parser/rss.rs +5 -3
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/parser/rss10.rs +5 -2
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/pyproject.toml +1 -1
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/README.md +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/Cargo.toml +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/README.md +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/benches/parsing.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/benches/types.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/examples/error_handling.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/examples/feeds/malformed_feed.xml +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/examples/feeds/sample_atom.xml +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/examples/feeds/sample_podcast.xml +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/examples/feeds/sample_rss.xml +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/examples/parse_file.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/examples/parse_url.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/examples/podcast_feed.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/examples/profile_memory.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/compat/mod.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/error.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/http/client.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/http/mod.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/http/response.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/http/validation.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/lib.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/limits.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/namespace/cc.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/namespace/content.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/namespace/dublin_core.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/namespace/georss.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/namespace/media_rss.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/namespace/mod.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/namespace/slash.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/namespace/syndication.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/options.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/parser/detect.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/parser/json.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/parser/mod.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/parser/namespace_detection.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/types/common.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/types/entry.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/types/feed.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/types/generics.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/types/mod.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/types/podcast.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/types/thread.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/types/version.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/util/base_url.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/util/date.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/util/encoding.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/util/mod.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/util/sanitize.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/util/text.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/tests/encoding_integration.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/tests/fixtures/rss10/rss10_channel_selfclosing_refs.xml +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/tests/guid_entity_tests.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/tests/http_integration.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/tests/integration_tests.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/tests/issue45_test.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/tests/namespace_edge_cases.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/tests/namespace_integration.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/tests/test_adversarial_input.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/tests/test_author_detail.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/tests/test_entry_author_precedence.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/tests/test_georss_cc_namespaces.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/tests/test_media_namespace.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/tests/test_parser_limits.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/tests/test_podcast_namespace.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/tests/test_rss10.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/tests/test_rss_optional_elements.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/tests/test_slash_wfw_namespaces.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/tests/test_thr_namespace.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/tests/test_threading_namespace.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/tests/test_timezone_preservation.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/tests/test_truncated_feeds.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/tests/test_url_resolution.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/tests/test_url_security.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-py/Cargo.toml +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-py/README.md +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-py/src/error.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-py/src/lib.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-py/src/limits.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-py/src/types/common.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-py/src/types/compat.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-py/src/types/datetime.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-py/src/types/entry.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-py/src/types/feed_meta.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-py/src/types/geo.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-py/src/types/media.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-py/src/types/mod.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-py/src/types/parsed_feed.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-py/src/types/podcast.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-py/src/types/syndication.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-py/src/types/thread.rs +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-py/tests/test_basic.py +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-py/tests/test_bindings.py +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-py/tests/test_compat.py +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-py/tests/test_dict_methods.py +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-py/tests/test_guid_entities.py +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-py/tests/test_integration.py +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-py/tests/test_itunes_flat_keys.py +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-py/tests/test_subscriptable.py +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-py/tests/test_syndication.py +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-py/uv.lock +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/python/feedparser_rs/__init__.py +0 -0
- {feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/python/feedparser_rs/py.typed +0 -0
|
@@ -500,19 +500,9 @@ dependencies = [
|
|
|
500
500
|
|
|
501
501
|
[[package]]
|
|
502
502
|
name = "ctor"
|
|
503
|
-
version = "0.
|
|
504
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
505
|
-
checksum = "95d0d11eb38e7642efca359c3cf6eb7b2e528182d09110165de70192b0352775"
|
|
506
|
-
dependencies = [
|
|
507
|
-
"ctor-proc-macro",
|
|
508
|
-
"dtor",
|
|
509
|
-
]
|
|
510
|
-
|
|
511
|
-
[[package]]
|
|
512
|
-
name = "ctor-proc-macro"
|
|
513
|
-
version = "0.0.12"
|
|
503
|
+
version = "1.0.6"
|
|
514
504
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
515
|
-
checksum = "
|
|
505
|
+
checksum = "6d765eb1c0bda10d31e0ea185f5ee15da532d60b0912d2bd1441783439e749c5"
|
|
516
506
|
|
|
517
507
|
[[package]]
|
|
518
508
|
name = "dhat"
|
|
@@ -556,21 +546,6 @@ dependencies = [
|
|
|
556
546
|
"dtoa",
|
|
557
547
|
]
|
|
558
548
|
|
|
559
|
-
[[package]]
|
|
560
|
-
name = "dtor"
|
|
561
|
-
version = "0.7.0"
|
|
562
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
563
|
-
checksum = "17f72721db8027a4e96dd6fb50d2a1d32259c9d3da1b63dee612ccd981e14293"
|
|
564
|
-
dependencies = [
|
|
565
|
-
"dtor-proc-macro",
|
|
566
|
-
]
|
|
567
|
-
|
|
568
|
-
[[package]]
|
|
569
|
-
name = "dtor-proc-macro"
|
|
570
|
-
version = "0.0.12"
|
|
571
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
572
|
-
checksum = "8c98b077c7463d01d22dde8a24378ddf1ca7263dc687cffbed38819ea6c21131"
|
|
573
|
-
|
|
574
549
|
[[package]]
|
|
575
550
|
name = "dunce"
|
|
576
551
|
version = "1.0.5"
|
|
@@ -600,7 +575,7 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
|
|
|
600
575
|
|
|
601
576
|
[[package]]
|
|
602
577
|
name = "feedparser-rs"
|
|
603
|
-
version = "0.5.
|
|
578
|
+
version = "0.5.4"
|
|
604
579
|
dependencies = [
|
|
605
580
|
"ammonia",
|
|
606
581
|
"chrono",
|
|
@@ -623,7 +598,7 @@ dependencies = [
|
|
|
623
598
|
|
|
624
599
|
[[package]]
|
|
625
600
|
name = "feedparser-rs-node"
|
|
626
|
-
version = "0.5.
|
|
601
|
+
version = "0.5.4"
|
|
627
602
|
dependencies = [
|
|
628
603
|
"feedparser-rs",
|
|
629
604
|
"napi",
|
|
@@ -633,7 +608,7 @@ dependencies = [
|
|
|
633
608
|
|
|
634
609
|
[[package]]
|
|
635
610
|
name = "feedparser-rs-py"
|
|
636
|
-
version = "0.5.
|
|
611
|
+
version = "0.5.4"
|
|
637
612
|
dependencies = [
|
|
638
613
|
"chrono",
|
|
639
614
|
"feedparser-rs",
|
|
@@ -1353,9 +1328,9 @@ dependencies = [
|
|
|
1353
1328
|
|
|
1354
1329
|
[[package]]
|
|
1355
1330
|
name = "napi"
|
|
1356
|
-
version = "3.
|
|
1331
|
+
version = "3.9.0"
|
|
1357
1332
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1358
|
-
checksum = "
|
|
1333
|
+
checksum = "f1d395473824516f38dd1071a1a37bc57daa7be65b293ebba4ead5f7abb017a2"
|
|
1359
1334
|
dependencies = [
|
|
1360
1335
|
"anyhow",
|
|
1361
1336
|
"bitflags",
|
|
@@ -1369,15 +1344,15 @@ dependencies = [
|
|
|
1369
1344
|
|
|
1370
1345
|
[[package]]
|
|
1371
1346
|
name = "napi-build"
|
|
1372
|
-
version = "2.3.
|
|
1347
|
+
version = "2.3.2"
|
|
1373
1348
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1374
|
-
checksum = "
|
|
1349
|
+
checksum = "c9c366d2c8c60b86fa632df75f745509b52f9128f91a6bad4c796e44abb505e1"
|
|
1375
1350
|
|
|
1376
1351
|
[[package]]
|
|
1377
1352
|
name = "napi-derive"
|
|
1378
|
-
version = "3.5.
|
|
1353
|
+
version = "3.5.6"
|
|
1379
1354
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1380
|
-
checksum = "
|
|
1355
|
+
checksum = "89b3f766e04667e6da0e181e2da4f85475d5a6513b7cf6a80bea184e224a5b42"
|
|
1381
1356
|
dependencies = [
|
|
1382
1357
|
"convert_case",
|
|
1383
1358
|
"ctor",
|
|
@@ -1389,9 +1364,9 @@ dependencies = [
|
|
|
1389
1364
|
|
|
1390
1365
|
[[package]]
|
|
1391
1366
|
name = "napi-derive-backend"
|
|
1392
|
-
version = "5.0.
|
|
1367
|
+
version = "5.0.4"
|
|
1393
1368
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1394
|
-
checksum = "
|
|
1369
|
+
checksum = "0d5af30503edf933ce7377cf6d4c877a62b0f1107ea05585f1b5e430e88d5baf"
|
|
1395
1370
|
dependencies = [
|
|
1396
1371
|
"convert_case",
|
|
1397
1372
|
"proc-macro2",
|
|
@@ -1682,9 +1657,9 @@ dependencies = [
|
|
|
1682
1657
|
|
|
1683
1658
|
[[package]]
|
|
1684
1659
|
name = "quick-xml"
|
|
1685
|
-
version = "0.
|
|
1660
|
+
version = "0.40.1"
|
|
1686
1661
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1687
|
-
checksum = "
|
|
1662
|
+
checksum = "2474bd2e5029e7ccb6abb2ba48cf2383a333851dedf495901544281590c7da7f"
|
|
1688
1663
|
dependencies = [
|
|
1689
1664
|
"memchr",
|
|
1690
1665
|
]
|
|
@@ -1864,9 +1839,9 @@ checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a"
|
|
|
1864
1839
|
|
|
1865
1840
|
[[package]]
|
|
1866
1841
|
name = "reqwest"
|
|
1867
|
-
version = "0.13.
|
|
1842
|
+
version = "0.13.3"
|
|
1868
1843
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1869
|
-
checksum = "
|
|
1844
|
+
checksum = "62e0021ea2c22aed41653bc7e1419abb2c97e038ff2c33d0e1309e49a97deec0"
|
|
1870
1845
|
dependencies = [
|
|
1871
1846
|
"base64",
|
|
1872
1847
|
"bytes",
|
|
@@ -2103,9 +2078,9 @@ dependencies = [
|
|
|
2103
2078
|
|
|
2104
2079
|
[[package]]
|
|
2105
2080
|
name = "serde_json"
|
|
2106
|
-
version = "1.0.
|
|
2081
|
+
version = "1.0.150"
|
|
2107
2082
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2108
|
-
checksum = "
|
|
2083
|
+
checksum = "e8014e44b4736ed0538adeecded0fce2a272f22dc9578a7eb6b2d9993c74cfb9"
|
|
2109
2084
|
dependencies = [
|
|
2110
2085
|
"itoa",
|
|
2111
2086
|
"memchr",
|
|
@@ -3,7 +3,7 @@ members = ["crates/feedparser-rs-core", "crates/feedparser-rs-py"]
|
|
|
3
3
|
resolver = "2"
|
|
4
4
|
|
|
5
5
|
[workspace.package]
|
|
6
|
-
version = "0.5.
|
|
6
|
+
version = "0.5.4"
|
|
7
7
|
edition = "2024"
|
|
8
8
|
rust-version = "1.88.0"
|
|
9
9
|
authors = ["bug-ops"]
|
|
@@ -23,11 +23,11 @@ flate2 = "1.1"
|
|
|
23
23
|
html-escape = "0.2"
|
|
24
24
|
memchr = "2.8"
|
|
25
25
|
mockito = "1.7"
|
|
26
|
-
napi = "3.
|
|
26
|
+
napi = "3.9"
|
|
27
27
|
napi-derive = "3.5"
|
|
28
28
|
once_cell = "1.21"
|
|
29
29
|
pyo3 = "0.28"
|
|
30
|
-
quick-xml = "0.
|
|
30
|
+
quick-xml = "0.40"
|
|
31
31
|
regex = "1.12"
|
|
32
32
|
reqwest = { version = "0.13", default-features = false }
|
|
33
33
|
serde = "1.0"
|
{feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/namespace/threading.rs
RENAMED
|
@@ -65,7 +65,7 @@ pub fn parse_in_reply_to_from_attrs<'a>(
|
|
|
65
65
|
if attr.value.len() > max_attr_len {
|
|
66
66
|
continue;
|
|
67
67
|
}
|
|
68
|
-
let Ok(value) = attr.
|
|
68
|
+
let Ok(value) = attr.normalized_value(quick_xml::XmlVersion::Implicit1_0) else {
|
|
69
69
|
continue;
|
|
70
70
|
};
|
|
71
71
|
match attr.key.as_ref() {
|
|
@@ -433,7 +433,11 @@ fn parse_feed_element(
|
|
|
433
433
|
.flatten()
|
|
434
434
|
.find(|a| a.key.as_ref() == b"scheme")
|
|
435
435
|
.and_then(|a| {
|
|
436
|
-
a.
|
|
436
|
+
a.normalized_value(
|
|
437
|
+
quick_xml::XmlVersion::Implicit1_0,
|
|
438
|
+
)
|
|
439
|
+
.ok()
|
|
440
|
+
.map(|v| {
|
|
437
441
|
truncate_to_length(
|
|
438
442
|
&v,
|
|
439
443
|
limits.max_attribute_length,
|
|
@@ -891,9 +895,14 @@ fn parse_entry(
|
|
|
891
895
|
.flatten()
|
|
892
896
|
.find(|a| a.key.as_ref() == b"scheme")
|
|
893
897
|
.and_then(|a| {
|
|
894
|
-
a.
|
|
895
|
-
|
|
896
|
-
|
|
898
|
+
a.normalized_value(quick_xml::XmlVersion::Implicit1_0)
|
|
899
|
+
.ok()
|
|
900
|
+
.map(|v| {
|
|
901
|
+
truncate_to_length(
|
|
902
|
+
&v,
|
|
903
|
+
limits.max_attribute_length,
|
|
904
|
+
)
|
|
905
|
+
})
|
|
897
906
|
});
|
|
898
907
|
let text = read_text_str(reader, buf, limits)?;
|
|
899
908
|
media_rss::handle_entry_rating(
|
|
@@ -1186,14 +1195,14 @@ fn parse_text_construct(
|
|
|
1186
1195
|
_ => {}
|
|
1187
1196
|
},
|
|
1188
1197
|
b"xml:base" | b"base" => {
|
|
1189
|
-
if let Ok(v) = attr.
|
|
1198
|
+
if let Ok(v) = attr.normalized_value(quick_xml::XmlVersion::Implicit1_0)
|
|
1190
1199
|
&& !v.is_empty()
|
|
1191
1200
|
{
|
|
1192
1201
|
elem_base = base_ctx.child_with_base(&v).base().map(ToString::to_string);
|
|
1193
1202
|
}
|
|
1194
1203
|
}
|
|
1195
1204
|
b"xml:lang" | b"lang" => {
|
|
1196
|
-
if let Ok(v) = attr.
|
|
1205
|
+
if let Ok(v) = attr.normalized_value(quick_xml::XmlVersion::Implicit1_0) {
|
|
1197
1206
|
elem_lang = Some(v.to_string());
|
|
1198
1207
|
}
|
|
1199
1208
|
}
|
|
@@ -1329,14 +1338,14 @@ fn parse_content(
|
|
|
1329
1338
|
}
|
|
1330
1339
|
b"src" => src = Some(bytes_to_string(&attr.value)),
|
|
1331
1340
|
b"xml:base" | b"base" => {
|
|
1332
|
-
if let Ok(v) = attr.
|
|
1341
|
+
if let Ok(v) = attr.normalized_value(quick_xml::XmlVersion::Implicit1_0)
|
|
1333
1342
|
&& !v.is_empty()
|
|
1334
1343
|
{
|
|
1335
1344
|
elem_base = base_ctx.child_with_base(&v).base().map(ToString::to_string);
|
|
1336
1345
|
}
|
|
1337
1346
|
}
|
|
1338
1347
|
b"xml:lang" | b"lang" => {
|
|
1339
|
-
if let Ok(v) = attr.
|
|
1348
|
+
if let Ok(v) = attr.normalized_value(quick_xml::XmlVersion::Implicit1_0) {
|
|
1340
1349
|
elem_lang = Some(v.to_string());
|
|
1341
1350
|
}
|
|
1342
1351
|
}
|
|
@@ -1572,14 +1581,14 @@ fn parse_content_empty(
|
|
|
1572
1581
|
}
|
|
1573
1582
|
b"src" => src = Some(bytes_to_string(&attr.value)),
|
|
1574
1583
|
b"xml:base" | b"base" => {
|
|
1575
|
-
if let Ok(v) = attr.
|
|
1584
|
+
if let Ok(v) = attr.normalized_value(quick_xml::XmlVersion::Implicit1_0)
|
|
1576
1585
|
&& !v.is_empty()
|
|
1577
1586
|
{
|
|
1578
1587
|
elem_base = base_ctx.child_with_base(&v).base().map(ToString::to_string);
|
|
1579
1588
|
}
|
|
1580
1589
|
}
|
|
1581
1590
|
b"xml:lang" | b"lang" => {
|
|
1582
|
-
if let Ok(v) = attr.
|
|
1591
|
+
if let Ok(v) = attr.normalized_value(quick_xml::XmlVersion::Implicit1_0) {
|
|
1583
1592
|
elem_lang = Some(v.to_string());
|
|
1584
1593
|
}
|
|
1585
1594
|
}
|
|
@@ -433,7 +433,10 @@ pub fn extract_xml_base(
|
|
|
433
433
|
key == b"xml:base" || key == b"base"
|
|
434
434
|
})
|
|
435
435
|
.filter(|attr| attr.value.len() <= max_attr_length)
|
|
436
|
-
.and_then(|attr|
|
|
436
|
+
.and_then(|attr| {
|
|
437
|
+
attr.normalized_value(quick_xml::XmlVersion::Implicit1_0)
|
|
438
|
+
.ok()
|
|
439
|
+
})
|
|
437
440
|
.map(|s| s.to_string())
|
|
438
441
|
}
|
|
439
442
|
|
|
@@ -474,7 +477,10 @@ pub fn extract_xml_lang(
|
|
|
474
477
|
key == b"xml:lang" || key == b"lang"
|
|
475
478
|
})
|
|
476
479
|
.filter(|attr| attr.value.len() <= max_attr_length)
|
|
477
|
-
.and_then(|attr|
|
|
480
|
+
.and_then(|attr| {
|
|
481
|
+
attr.normalized_value(quick_xml::XmlVersion::Implicit1_0)
|
|
482
|
+
.ok()
|
|
483
|
+
})
|
|
478
484
|
.map(|s| s.to_string())
|
|
479
485
|
}
|
|
480
486
|
|
|
@@ -529,7 +535,7 @@ pub fn extract_namespaces(
|
|
|
529
535
|
continue;
|
|
530
536
|
}
|
|
531
537
|
|
|
532
|
-
let uri = if let Ok(v) = attr.
|
|
538
|
+
let uri = if let Ok(v) = attr.normalized_value(quick_xml::XmlVersion::Implicit1_0) {
|
|
533
539
|
v.to_string()
|
|
534
540
|
} else {
|
|
535
541
|
feed.bozo = true;
|
|
@@ -49,7 +49,7 @@ fn collect_attributes(e: &quick_xml::events::BytesStart) -> (Vec<(Vec<u8>, Strin
|
|
|
49
49
|
for result in e.attributes() {
|
|
50
50
|
match result {
|
|
51
51
|
Ok(attr) => {
|
|
52
|
-
if let Ok(v) = attr.
|
|
52
|
+
if let Ok(v) = attr.normalized_value(quick_xml::XmlVersion::Implicit1_0) {
|
|
53
53
|
attrs.push((attr.key.as_ref().to_vec(), v.to_string()));
|
|
54
54
|
} else {
|
|
55
55
|
has_errors = true;
|
|
@@ -855,7 +855,8 @@ fn parse_itunes_category(
|
|
|
855
855
|
if nesting == 1 {
|
|
856
856
|
for attr in sub_e.attributes().flatten() {
|
|
857
857
|
if attr.key.as_ref() == b"text"
|
|
858
|
-
&& let Ok(value) =
|
|
858
|
+
&& let Ok(value) =
|
|
859
|
+
attr.normalized_value(quick_xml::XmlVersion::Implicit1_0)
|
|
859
860
|
{
|
|
860
861
|
subcategory_text =
|
|
861
862
|
Some(value.chars().take(limits.max_attribute_length).collect());
|
|
@@ -870,7 +871,8 @@ fn parse_itunes_category(
|
|
|
870
871
|
{
|
|
871
872
|
for attr in sub_e.attributes().flatten() {
|
|
872
873
|
if attr.key.as_ref() == b"text"
|
|
873
|
-
&& let Ok(value) =
|
|
874
|
+
&& let Ok(value) =
|
|
875
|
+
attr.normalized_value(quick_xml::XmlVersion::Implicit1_0)
|
|
874
876
|
{
|
|
875
877
|
subcategory_text =
|
|
876
878
|
Some(value.chars().take(limits.max_attribute_length).collect());
|
|
@@ -104,7 +104,8 @@ pub fn parse_rss10_with_limits(data: &[u8], limits: ParserLimits) -> Result<Pars
|
|
|
104
104
|
for attr in e.attributes().flatten() {
|
|
105
105
|
if (attr.key.as_ref() == b"rdf:about"
|
|
106
106
|
|| attr.key.local_name().as_ref() == b"about")
|
|
107
|
-
&& let Ok(value) =
|
|
107
|
+
&& let Ok(value) =
|
|
108
|
+
attr.normalized_value(quick_xml::XmlVersion::Implicit1_0)
|
|
108
109
|
{
|
|
109
110
|
feed.feed.id = Some(value.as_ref().into());
|
|
110
111
|
}
|
|
@@ -138,7 +139,9 @@ pub fn parse_rss10_with_limits(data: &[u8], limits: ParserLimits) -> Result<Pars
|
|
|
138
139
|
if attr.key.as_ref() == b"rdf:about"
|
|
139
140
|
|| attr.key.local_name().as_ref() == b"about"
|
|
140
141
|
{
|
|
141
|
-
attr.
|
|
142
|
+
attr.normalized_value(quick_xml::XmlVersion::Implicit1_0)
|
|
143
|
+
.ok()
|
|
144
|
+
.map(|v| v.to_string())
|
|
142
145
|
} else {
|
|
143
146
|
None
|
|
144
147
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/examples/error_handling.rs
RENAMED
|
File without changes
|
|
File without changes
|
{feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/examples/feeds/sample_atom.xml
RENAMED
|
File without changes
|
|
File without changes
|
{feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/examples/feeds/sample_rss.xml
RENAMED
|
File without changes
|
{feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/examples/parse_file.rs
RENAMED
|
File without changes
|
|
File without changes
|
{feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/examples/podcast_feed.rs
RENAMED
|
File without changes
|
{feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/examples/profile_memory.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/http/validation.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/namespace/content.rs
RENAMED
|
File without changes
|
{feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/namespace/dublin_core.rs
RENAMED
|
File without changes
|
{feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/namespace/georss.rs
RENAMED
|
File without changes
|
{feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/namespace/media_rss.rs
RENAMED
|
File without changes
|
|
File without changes
|
{feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/namespace/slash.rs
RENAMED
|
File without changes
|
{feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/src/namespace/syndication.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/tests/encoding_integration.rs
RENAMED
|
File without changes
|
|
File without changes
|
{feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/tests/guid_entity_tests.rs
RENAMED
|
File without changes
|
{feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/tests/http_integration.rs
RENAMED
|
File without changes
|
{feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/tests/integration_tests.rs
RENAMED
|
File without changes
|
|
File without changes
|
{feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/tests/namespace_edge_cases.rs
RENAMED
|
File without changes
|
{feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/tests/namespace_integration.rs
RENAMED
|
File without changes
|
|
File without changes
|
{feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/tests/test_author_detail.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/tests/test_media_namespace.rs
RENAMED
|
File without changes
|
{feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/tests/test_parser_limits.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/tests/test_thr_namespace.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/tests/test_truncated_feeds.rs
RENAMED
|
File without changes
|
{feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/tests/test_url_resolution.rs
RENAMED
|
File without changes
|
{feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-core/tests/test_url_security.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-py/src/types/parsed_feed.rs
RENAMED
|
File without changes
|
|
File without changes
|
{feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-py/src/types/syndication.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-py/tests/test_dict_methods.py
RENAMED
|
File without changes
|
{feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-py/tests/test_guid_entities.py
RENAMED
|
File without changes
|
{feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-py/tests/test_integration.py
RENAMED
|
File without changes
|
{feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-py/tests/test_itunes_flat_keys.py
RENAMED
|
File without changes
|
{feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-py/tests/test_subscriptable.py
RENAMED
|
File without changes
|
{feedparser_rs-0.5.3 → feedparser_rs-0.5.4}/crates/feedparser-rs-py/tests/test_syndication.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|