warn-scraper 1.2.153.dev0__tar.gz → 1.2.155.dev0__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.
Files changed (141) hide show
  1. {warn_scraper-1.2.153.dev0/warn_scraper.egg-info → warn_scraper-1.2.155.dev0}/PKG-INFO +1 -1
  2. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/Pipfile +3 -1
  3. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/Pipfile.lock +149 -162
  4. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/pdfrodent/pdfrodent.py +10 -7
  5. warn_scraper-1.2.155.dev0/warn/scrapers/la.py +197 -0
  6. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/utils.py +1 -1
  7. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0/warn_scraper.egg-info}/PKG-INFO +1 -1
  8. warn_scraper-1.2.153.dev0/warn/scrapers/la.py +0 -473
  9. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/.devcontainer/devcontainer.json +0 -0
  10. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/.github/dependabot-disabled.yml +0 -0
  11. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/.github/workflows/continuous-deployment.yml +0 -0
  12. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/.github/workflows/continuous-deployment.yml.broken-tests +0 -0
  13. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/.gitignore +0 -0
  14. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/.pre-commit-config.yaml +0 -0
  15. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/LICENSE +0 -0
  16. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/MANIFEST.in +0 -0
  17. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/Makefile +0 -0
  18. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/README.md +0 -0
  19. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/Makefile +0 -0
  20. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/_static/R42693.pdf +0 -0
  21. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/_static/gao-03-1003.pdf +0 -0
  22. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/_static/releasing-actions-finished.png +0 -0
  23. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/_static/releasing-actions-start.png +0 -0
  24. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/_static/releasing-changelog-button.png +0 -0
  25. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/_static/releasing-changelog-entered.png +0 -0
  26. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/_static/releasing-draft-button.png +0 -0
  27. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/_static/releasing-name-release.png +0 -0
  28. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/_static/releasing-name-tag.png +0 -0
  29. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/_static/releasing-publish-button.png +0 -0
  30. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/_static/releasing-pypi.png +0 -0
  31. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/_static/releasing-release-published.png +0 -0
  32. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/_static/releasing-releases-button.png +0 -0
  33. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/_static/releasing-tag-button.png +0 -0
  34. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/_templates/sources.md.tmpl +0 -0
  35. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/conf.py +0 -0
  36. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/contributing.rst +0 -0
  37. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/index.rst +0 -0
  38. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/make.bat +0 -0
  39. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/reference.rst +0 -0
  40. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/releasing.md +0 -0
  41. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/requirements.txt +0 -0
  42. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/scrapers/al.md +0 -0
  43. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/scrapers/az.md +0 -0
  44. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/scrapers/ca.md +0 -0
  45. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/scrapers/co.md +0 -0
  46. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/scrapers/dc.md +0 -0
  47. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/scrapers/de.md +0 -0
  48. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/scrapers/ia.md +0 -0
  49. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/scrapers/in.md +0 -0
  50. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/scrapers/job_center.md +0 -0
  51. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/scrapers/ks.md +0 -0
  52. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/scrapers/md.md +0 -0
  53. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/scrapers/me.md +0 -0
  54. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/scrapers/mo.md +0 -0
  55. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/scrapers/ny.md +0 -0
  56. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/scrapers/ok.md +0 -0
  57. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/scrapers/or.md +0 -0
  58. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/scrapers/sc.md +0 -0
  59. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/scrapers/tx.md +0 -0
  60. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/scrapers/ut.md +0 -0
  61. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/scrapers/va.md +0 -0
  62. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/scrapers/vt.md +0 -0
  63. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/scrapers/wi.md +0 -0
  64. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/sources.md +0 -0
  65. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/docs/usage.md +0 -0
  66. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/pyproject.toml +0 -0
  67. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/setup.cfg +0 -0
  68. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/setup.py +0 -0
  69. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/tests/__init__.py +0 -0
  70. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/tests/cassettes/test_cached_detail_pages.yaml +0 -0
  71. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/tests/cassettes/test_cached_search_results.yaml +0 -0
  72. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/tests/cassettes/test_missing_detail_page_values.yaml +0 -0
  73. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/tests/cassettes/test_no_results.yaml +0 -0
  74. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/tests/cassettes/test_paged_results.yaml +0 -0
  75. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/tests/cassettes/test_scrape_integration.yaml +0 -0
  76. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/tests/conftest.py +0 -0
  77. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/tests/fixtures/2021_page_1.html +0 -0
  78. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/tests/fixtures/2021_page_2.html +0 -0
  79. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/tests/test_cache.py +0 -0
  80. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/tests/test_delete.py +0 -0
  81. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/tests/test_job_center.py +0 -0
  82. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/tests/test_job_center_cache.py +0 -0
  83. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/tests/test_openpyxl.py +0 -0
  84. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/__init__.py +0 -0
  85. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/cache.py +0 -0
  86. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/cli.py +0 -0
  87. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/pdfrodent/__init__.py +0 -0
  88. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/platforms/__init__.py +0 -0
  89. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/platforms/job_center/__init__.py +0 -0
  90. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/platforms/job_center/cache.py +0 -0
  91. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/platforms/job_center/site.py +0 -0
  92. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/platforms/job_center/urls.py +0 -0
  93. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/platforms/job_center/utils.py +0 -0
  94. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/runner.py +0 -0
  95. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/scrapers/__init__.py +0 -0
  96. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/scrapers/ak.py +0 -0
  97. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/scrapers/al.py +0 -0
  98. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/scrapers/az.py +0 -0
  99. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/scrapers/ca.py +0 -0
  100. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/scrapers/co.py +0 -0
  101. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/scrapers/ct.py +0 -0
  102. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/scrapers/dc.py +0 -0
  103. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/scrapers/de.py +0 -0
  104. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/scrapers/fl.py +0 -0
  105. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/scrapers/ga.py +0 -0
  106. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/scrapers/hi.py +0 -0
  107. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/scrapers/ia.py +0 -0
  108. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/scrapers/id.py +0 -0
  109. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/scrapers/il.py +0 -0
  110. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/scrapers/in.py +0 -0
  111. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/scrapers/ks.py +0 -0
  112. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/scrapers/ky.py +0 -0
  113. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/scrapers/md.py +0 -0
  114. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/scrapers/me.py +0 -0
  115. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/scrapers/mi.py +0 -0
  116. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/scrapers/mo.py +0 -0
  117. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/scrapers/ms.py +0 -0
  118. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/scrapers/mt.py +0 -0
  119. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/scrapers/ne.py +0 -0
  120. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/scrapers/nj.py +0 -0
  121. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/scrapers/nm.py +0 -0
  122. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/scrapers/ny.py +0 -0
  123. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/scrapers/oh.py +0 -0
  124. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/scrapers/ok.py +0 -0
  125. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/scrapers/or.py +0 -0
  126. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/scrapers/pa.py +0 -0
  127. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/scrapers/ri.py +0 -0
  128. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/scrapers/sc.py +0 -0
  129. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/scrapers/sd.py +0 -0
  130. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/scrapers/tn.py +0 -0
  131. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/scrapers/tx.py +0 -0
  132. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/scrapers/ut.py +0 -0
  133. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/scrapers/va.py +0 -0
  134. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/scrapers/vt.py +0 -0
  135. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/scrapers/wa.py +0 -0
  136. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn/scrapers/wi.py +0 -0
  137. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn_scraper.egg-info/SOURCES.txt +0 -0
  138. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn_scraper.egg-info/dependency_links.txt +0 -0
  139. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn_scraper.egg-info/entry_points.txt +0 -0
  140. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn_scraper.egg-info/requires.txt +0 -0
  141. {warn_scraper-1.2.153.dev0 → warn_scraper-1.2.155.dev0}/warn_scraper.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: warn-scraper
3
- Version: 1.2.153.dev0
3
+ Version: 1.2.155.dev0
4
4
  Summary: Command-line interface for downloading WARN Act notices of qualified plant closings and mass layoffs from state government websites
5
5
  Author-email: Big Local News <biglocalnews@stanford.edu>
6
6
  License-Expression: Apache-2.0
@@ -42,6 +42,7 @@ idna = "*"
42
42
 
43
43
  [packages]
44
44
  beautifulsoup4 = "*"
45
+ bln = "==2.3.18"
45
46
  cffi = "*"
46
47
  click = "*"
47
48
  cryptography = "*"
@@ -61,8 +62,9 @@ urllib3 = "*"
61
62
  webdriver-manager = "*"
62
63
  xlrd = "*"
63
64
  xvfbwrapper = "*"
64
- bln = "==2.3.18"
65
+ opencv-python-headless = "*"
65
66
  camelot-py = "==1.0.9"
67
+ pypdf = "*"
66
68
 
67
69
  [requires]
68
70
  python_version = "3.14"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "_meta": {
3
3
  "hash": {
4
- "sha256": "43d6cc8fcba4a08dc3b999d3f2bfee1e7db843b56320b48f8c4eec82a9da8623"
4
+ "sha256": "90f76dc3842e434791278f1cca0f7c3363bfe4b908c44663ecfb7750ffb66203"
5
5
  },
6
6
  "pipfile-spec": 6,
7
7
  "requires": {
@@ -53,11 +53,11 @@
53
53
  },
54
54
  "certifi": {
55
55
  "hashes": [
56
- "sha256:3c52e209ba0a4ad7aebe60436a4ab349c39e1e602e8c134221e546902ad25897",
57
- "sha256:69dea482ab64caa7b9f6aba1c6bf48bb6a5448d1c0f1b17ab42ad8c763a5344d"
56
+ "sha256:024c88eeec92ca068db80f02b8b07c9cef7b9fe261d1d535abfd5abd6f6af432",
57
+ "sha256:2227dcbaafe0d2f59279d1762ddddc37783ed4354594f194ffc31d20f41fc3db"
58
58
  ],
59
59
  "markers": "python_version >= '3.7'",
60
- "version": "==2026.5.20"
60
+ "version": "==2026.6.17"
61
61
  },
62
62
  "cffi": {
63
63
  "hashes": [
@@ -676,6 +676,7 @@
676
676
  "sha256:a7cf08e5b191f4ebb530791acc0825a7986e0d0dee2a3c491184bd8599848a4b",
677
677
  "sha256:eb60e36b237b1ebd40a912da5384b348df8ed534f6f644d8e0b4f103e272ba7d"
678
678
  ],
679
+ "index": "pypi",
679
680
  "markers": "python_version >= '3.6'",
680
681
  "version": "==4.13.0.92"
681
682
  },
@@ -760,20 +761,20 @@
760
761
  },
761
762
  "pdfminer-six": {
762
763
  "hashes": [
763
- "sha256:9ff2e3466a7dfc6de6fd779478850b6b7c2d9e9405aa2a5869376a822771f485",
764
- "sha256:e8f68a14c57e00c2d7276d26519ea64be1b48f91db1cdc776faa80528ca06c1e"
764
+ "sha256:366585ba97e80dffa8f00cebe303d2f381884d8637af4ce422f1df3ef38111a9",
765
+ "sha256:96bfd431e3577a55a0efd25676968ca4ce8fd5b53f14565f85716ff363889602"
765
766
  ],
766
767
  "markers": "python_version >= '3.10'",
767
- "version": "==20251230"
768
+ "version": "==20260107"
768
769
  },
769
770
  "pdfplumber": {
770
771
  "hashes": [
771
- "sha256:33ec5580959ba524e9100138746e090879504c42955df1b8a997604dd326c443",
772
- "sha256:481224b678b2bbdbf376e2c39bf914144eef7c3d301b4a28eebf0f7f6109d6dc"
772
+ "sha256:7741ea81bf165b474b153e6789d10d18e06b6ddcf3ec84289c3ef2fed6802580",
773
+ "sha256:b95b2d28c66efb0a794a83b88c6c6aea5987532a445d20a1cbcfa657022e6e57"
773
774
  ],
774
775
  "index": "pypi",
775
776
  "markers": "python_version >= '3.8'",
776
- "version": "==0.11.9"
777
+ "version": "==0.11.10"
777
778
  },
778
779
  "pillow": {
779
780
  "hashes": [
@@ -894,36 +895,37 @@
894
895
  "sha256:30f67a614d558e495e1fbb157ba58c1de91ffc1718f5e0dfeb82a029233890a1",
895
896
  "sha256:be10a4c54202f46d9daceaa8788be07aa8cd5ea8c25c529c50dd509206382c35"
896
897
  ],
898
+ "index": "pypi",
897
899
  "markers": "python_version >= '3.8'",
898
900
  "version": "==5.9.0"
899
901
  },
900
902
  "pypdfium2": {
901
903
  "hashes": [
902
- "sha256:040f5513b808db705d4878f57e2bf0b9dc6e6a0ad8d765c36cf62febf3933b28",
903
- "sha256:06508c33b9772cf3878e48364c6e14c70cefc18a3abd6983ac9f338da9305275",
904
- "sha256:07e6ba170d577eabf60dbba701d051c64318dd029d38ca5907d83ae1a66fe779",
905
- "sha256:1894511a0e862e7ec5679f3a6dc43ac72c4ef92c7ca438357203913e8634a643",
906
- "sha256:1d902e03dff5efd51d93cd23d3e55bde53802fa6207bcd0e455239518859a069",
907
- "sha256:25ff1a5abd08ff9e87f62e5dac114ea95647c257fbbdbe029be8db71a6d7650b",
908
- "sha256:38a058dbd4929acaf0ab9171179eb86c24d8c6655a6836006796105a9f200890",
909
- "sha256:565ddfc98795fd2f6054b544ee9791d7b9032f9cf77a57891b6e501fafd0ef3f",
910
- "sha256:6c4fbe3a7190b329c526358fb2855d797f7b74b5ecfc61d19657ef20bcebc108",
911
- "sha256:6cf38d7ad3575947b82384869f2ab69ba345eb21d83118d25db3e83f967b0421",
912
- "sha256:77f7479a28b43aa658735e3ce79cfd1fccd5d42db035c21bb4c26e8bd7e280e5",
913
- "sha256:7cdc8e5d2f8d82add1e4f70a4fbe5f3b33c17f301ebde38c669fd7f78a7d032c",
914
- "sha256:7ce3a3dd23ec0adaa079d8be54565ba2aa2f6060e76a4989cd42dabc163d74ee",
915
- "sha256:90610d352f050b065b703f3a46602a852fce7dd8787300c8c7a472485b644d8f",
916
- "sha256:91914837c4a4285b3e0724a84eca8079363db7475acbcab405933d1807785664",
917
- "sha256:ae177938f5cf95a275db25a4f8553e2ebd954ecda2f9bc84848ba4b027ce438f",
918
- "sha256:b0057dc8c2033584dc3e61afb5f23a135dab52b081695b435e27f9b7b074c605",
919
- "sha256:b7b760bc2957ecf73c274af6ed8b168a2dcb328ac0a0f7ed6123cd92f6e7c9c9",
920
- "sha256:db1274bd27844db6fda17ef1dbcd0026c47d357437058d838e98060c0da9e92e",
921
- "sha256:e93f0cf440169a3e445e6fbd06c803877e7418f3e13254287875cb67f208bb5a",
922
- "sha256:f4991ae39bcea757552579bba4aebfaedb71c96dd35c2292f957b8ac9132f1ff",
923
- "sha256:ffe49edde2ac86f28ca7e58f565255a442f38a7508fff31b79a55f508f25a31e"
904
+ "sha256:09fda0609dc4749c9865a0315c447d6f2583a580693bcabd69980d3fbb22ad51",
905
+ "sha256:0de53d2710ca9509fc2812340acc57c3f043697609068592d87de654f8cabf44",
906
+ "sha256:10a26ce04795f8ec079e81c707fcb5737061e8a78025babc3d6e36642e9c903a",
907
+ "sha256:139a6387a3a2652f288e53164268bb03af4fa221d78484ee18407053a60082a3",
908
+ "sha256:13abf7a9f5e0ddebc8bbcccea5f13ae5abe8a298ea219e125b0fc24c1d2171b4",
909
+ "sha256:172ff3e10358d66456e27fb0b8b5098e28ec24e51072eb4b5b86077d550e21bb",
910
+ "sha256:3ba127750bc3f4161461538d532d74491cd976f584f1753a6cee9cb821338ec1",
911
+ "sha256:58da5b51fb7884c7d21a05062ab13edb011d1a08dfd9694f3d5d685df62796b9",
912
+ "sha256:610e14c37d2090b826dccc0604fc7e7612c0ce591190780ae228abdb9abb971e",
913
+ "sha256:6b01adcfe9aaf7a635a59bed5687fd4fd7b0da292664f050d4ebd2bfa5c70584",
914
+ "sha256:80f30517ee089dfbbc6e9de6da365b6e8c0ce8f80c40b7d4025a3b1d3bbd8a70",
915
+ "sha256:8702bb4f01ddfc8e7757b41b4c2c8392ac17c9f0234476e1e69672ea7c6d6aa0",
916
+ "sha256:8947fa3cd808da33960bdf8ff9e5247aa94ccd94f0b09bb3402e99498d83bcc9",
917
+ "sha256:a0dc52b56631e2f7edcdb22bae3b155aa840bec32c5bd05781e90baaecee88e7",
918
+ "sha256:ad5f5de15febb788c6eb3853e58aceda9cd8c5187c92472abaeecf9558deb0cf",
919
+ "sha256:be6d2a8d1bcfd777188e7aa55a25c83f34d54e8350ad8810fb32017787d9b0d9",
920
+ "sha256:cf4d2527f79f31c550490cc74c9f32e19385a944630a3ef4cd4d9b6f961fbf77",
921
+ "sha256:d04f2050b6b32bb18624688b600543342a4ab3aacf64bf66521a5af72bbc7de1",
922
+ "sha256:e3301c2f7a66fb8cb57dba857d0c9e90215e178f6602a87c5a306cd98513dab8",
923
+ "sha256:ebb9e63f92d15fc41b359fe7a187233dfae37548800e1fa09cb2fc466ac89951",
924
+ "sha256:f257d2011eb43c846b7e9f5a802e28646b29732763e4a35dd6ca76f9be580538",
925
+ "sha256:f2803020952afa57e1e148adc19369b835154e1fa251a1ca85008ab6466a710f"
924
926
  ],
925
927
  "markers": "python_version >= '3.6'",
926
- "version": "==5.9.0"
928
+ "version": "==5.10.1"
927
929
  },
928
930
  "pyquery": {
929
931
  "hashes": [
@@ -977,12 +979,12 @@
977
979
  },
978
980
  "selenium": {
979
981
  "hashes": [
980
- "sha256:b03a831fcfcab9d912b4682f60718c48a04560d6c62f7496c16b7498c9a4427e",
981
- "sha256:d01ea3e5ecad8149460a765f7cf5177194c21dcc0173093fc05427c289b1bf24"
982
+ "sha256:1fd9d0dc08192b2f8100e264ed720f83b05d2dd3a7feff673df04e0c7580df4b",
983
+ "sha256:563f0c4102f112df1cda30d46ce6d177b2e4a7a3d4b0756902d5dc84d3a8a365"
982
984
  ],
983
985
  "index": "pypi",
984
986
  "markers": "python_version >= '3.10'",
985
- "version": "==4.44.0"
987
+ "version": "==4.45.0"
986
988
  },
987
989
  "six": {
988
990
  "hashes": [
@@ -1193,11 +1195,11 @@
1193
1195
  },
1194
1196
  "anyio": {
1195
1197
  "hashes": [
1196
- "sha256:08b310f9e24a9594186fd75b4f73f4a4152069e3853f1ed8bfbf58369f4ad708",
1197
- "sha256:334b70e641fd2221c1505b3890c69882fe4a2df910cba14d97019b90b24439dc"
1198
+ "sha256:b47c1f9ccf73e67021df785332508f99379c68fa7d0684e8e3492cb1d4b23f89",
1199
+ "sha256:dd9b7a2a9799ed6552fde617b2c5df02b7fdd7d88392fc48101e51bae46164d9"
1198
1200
  ],
1199
1201
  "markers": "python_version >= '3.10'",
1200
- "version": "==4.13.0"
1202
+ "version": "==4.14.0"
1201
1203
  },
1202
1204
  "ast-serialize": {
1203
1205
  "hashes": [
@@ -1290,11 +1292,11 @@
1290
1292
  },
1291
1293
  "certifi": {
1292
1294
  "hashes": [
1293
- "sha256:3c52e209ba0a4ad7aebe60436a4ab349c39e1e602e8c134221e546902ad25897",
1294
- "sha256:69dea482ab64caa7b9f6aba1c6bf48bb6a5448d1c0f1b17ab42ad8c763a5344d"
1295
+ "sha256:024c88eeec92ca068db80f02b8b07c9cef7b9fe261d1d535abfd5abd6f6af432",
1296
+ "sha256:2227dcbaafe0d2f59279d1762ddddc37783ed4354594f194ffc31d20f41fc3db"
1295
1297
  ],
1296
1298
  "markers": "python_version >= '3.7'",
1297
- "version": "==2026.5.20"
1299
+ "version": "==2026.6.17"
1298
1300
  },
1299
1301
  "cffi": {
1300
1302
  "hashes": [
@@ -1552,116 +1554,101 @@
1552
1554
  "toml"
1553
1555
  ],
1554
1556
  "hashes": [
1555
- "sha256:0177614a0370f227888b4e436a7c55686d6a9f90eb1ade2b624ba685a1686e86",
1556
- "sha256:01b7733daad0237daa01ef80fe2dfceffc911e6a17fa7b55d14aa8214eaaaecd",
1557
- "sha256:03a6f93c1ec3b7f2e77b5dbcc5573a2c21f12529a5c6bbe0f16f72303cc2fa4d",
1558
- "sha256:042c46ded7c288aeb07cf14a28b6c1e10b78fcba40171c3fa1e939377eeef0b5",
1559
- "sha256:06144cd511cf2624873a035c5069cf297144f6e77a73ee3d7a55b605ec5efb42",
1560
- "sha256:07c6290b1697b862c0478eab545eec949a0d0e4d6d03497f446d706da3b4f2de",
1561
- "sha256:10274a1fbeb8ec5d72966e17bb198a3104257aca4ac09d98667c5f8aca8c8548",
1562
- "sha256:1101a5ebb083aecb625ebb6209d4105b58f647b093cb2dc8122d7b33f743cfe1",
1563
- "sha256:114c95ef29302423b87d159075805f4ab973254a2638a5d7d046c94887cc87d7",
1564
- "sha256:1238cb94638e610e972c60dac68e813f868dc7d6e982535270558443058d9d59",
1565
- "sha256:12c42ec1e14f553c4f817e989365982e646e27211f10a0f717855b94a79c8906",
1566
- "sha256:145986fe66647eb489f18d9a997567a3fd358584c4b5a808769113abc07466af",
1567
- "sha256:17a5a241e5997621a956a7f402a7433ef4221e5152809b785bec79e2323799f1",
1568
- "sha256:1896f5e19ff3f0431c7ce2172adc54890fd97f86b59ced8ca1649145d9ffe35d",
1569
- "sha256:196a13319ad88d6d8ef5ab489ec4f44ddde2143c0c7d5b27786f6c3ffd56a7e1",
1570
- "sha256:221c70f316241a78e77e607c227cefc8808d4e08f28d99c04f35694690e940be",
1571
- "sha256:2222be86d0b54f5dd5a38f45f17f315f737245e857bf0bdedc70734f84a13c02",
1572
- "sha256:2224f89ffd0c5605ccce1ed7a584da162bc7c55f601ab1c946bc9de31a486b42",
1573
- "sha256:23bf7fa51ac02e07fc7c96849b82946da47ae862dc8f86d183b2a4864fc38129",
1574
- "sha256:2d69af5dea2de76fc485a83032a630523f985198b7e25be901ec60181587b01e",
1575
- "sha256:30c08f7d90415aa98b3c990385dea2939b0da55f38515e5b369b83655f8523be",
1576
- "sha256:357d4e32935c36588aaba057d734fa32428c360c9fc2e4442afbf1b646beee6e",
1577
- "sha256:35ab22d91de736e8966b980dc355cbcdd2c6dbbcfe275f9a2991bc8a91b3df65",
1578
- "sha256:370c5afae3fa0658e11694a32b24c2778f6bc2d17718121f94ee185e69f26b54",
1579
- "sha256:3758dd0a7f1fa57365ef2e781df0f0731d38b6e3772259d13dae4bd8a958d4b1",
1580
- "sha256:39b21e212c55af06fa375e3dbf90a8a8e38792f3a910c580066d23563830ddd5",
1581
- "sha256:3a56abc20a472baf0304c455721bc601477440d28ecfde8a03dde79ede07e0df",
1582
- "sha256:3c18ebc343e15be53049b3a2dce38fe82d58f37e20ab9094b3a39c0aa4f6bb47",
1583
- "sha256:3d452fd08b5c72c5167c93e6867b5c08500bd40f2a21e1e854a500550b6cc36f",
1584
- "sha256:3e3680291c4a1d0dadfa84a2c459576a4af5133abb617905714339a0c73138cf",
1585
- "sha256:442cc9c952b2df400cda54bb04ab87330cf2cd08a8692cbbea36773531eb6f37",
1586
- "sha256:46f714d2fb8ae2f4f29f23ada7f1e79b759fff5a70f94a1dac23af204c3ec9e4",
1587
- "sha256:478b5bcd63c2e1357c5c7e16c070690df7b07f676b1c114d7b93e533c664309f",
1588
- "sha256:48b283b1dd6372e8de2a7a9a4c4d5dc06f4d4fd209b876f3c88a7a205a0c8f84",
1589
- "sha256:4a28fd227808366b196a75476dced2eb35b351d6766ba9c858dc93319e87f4f1",
1590
- "sha256:4ea1c034f95c9b056e856b794630b17f9fa3d57e4800ff1e503d3be0f9c9078c",
1591
- "sha256:51bd64741cc6fa065abd300ede1afe5a5291ece9c31da8b24884deda48bcc3f8",
1592
- "sha256:54acdb6674a4661768d7bf7db32dfb9f46ab1d764f8aba6df75ce1a6a088724e",
1593
- "sha256:59baf88468dbc8d63b1887afd92bda52e40bb1561696e5819670601403810cec",
1594
- "sha256:5a1c5215be81035e629d5bc756650634d0bf31991038db7a0eccb90f025ce16d",
1595
- "sha256:5b0c99ba93a07d56f6df340bb79be53202a082b2fdb81bfe6190b741a3470d54",
1596
- "sha256:5ea0c297e27133853b4d8a3eb799bff5a2dbd9f2f41537a240d337ac9b4df890",
1597
- "sha256:5f0cfc27c539f07cf5c0a4cfe211d0b6cae039f8f40526dbaa71944e64b50a7b",
1598
- "sha256:6223a72fd0e4c7156353ec0f08a5f93623e1d3034d0e2683b9bb8ea674131b1d",
1599
- "sha256:62a9f70b52e0b5a95cfef4a5c5641b06983cadc5e538a3feeb5c00211f523ac2",
1600
- "sha256:62fd185ef9df3c33d1c8178c5af105f762afbad96038de9a4ae100aa6297ca33",
1601
- "sha256:6a3cb83d1552c0cd1b4906655b6a33fd4a8473229633a901c6b73bf86914dee9",
1602
- "sha256:6adc5a36984624a70bf11d7184e20fa0a49aa7c47ffab43804106a1a695ea22e",
1603
- "sha256:6b6b0853b895fe0e98cbfc580d1ec3393d9302b4b1e96a77b3f5c91fdab899e6",
1604
- "sha256:6ff665fb023a77386fe11685190cee1f60a7d635994a30d9b0a061533d470fce",
1605
- "sha256:7279d2110a28cebc738b6459ecda2771735a4c18465fbbd36b3288fe5ed92247",
1606
- "sha256:76a085d7005236a767e3426148b2c407e53ad61695c562f8a81da2d373324901",
1607
- "sha256:7771b601718fdde84832c3a434ca9bbf4ae9adbc49d84198b4110700c3c77c36",
1608
- "sha256:79058c47dae6788504b5effb319961bcd72d7240551464b91d474bc0ed186d69",
1609
- "sha256:7af486dabe8954d03b087f0021540897afe084f04e16ff5579e08cc46f871416",
1610
- "sha256:7f02d09f70776579b926d889a4c9c235070a1f47c40458aeaca563fae5acfdb5",
1611
- "sha256:8011224a62280e50dab346960c03cf47aca1a1e09e608c0fb33fd6e0cc8e9500",
1612
- "sha256:8270544c361ed405a27a060dbc9ed2c124b084d96dfdc2d9a2510482aef981ad",
1613
- "sha256:84ac9499e48700399a5dd0ea7085b5091961fec52c68d66b4ec0d3cf7f4441b1",
1614
- "sha256:84b535f00655ecafe1d929d1fb00ed5d6fa3051ea643ab2c161a3887b86f294b",
1615
- "sha256:851b9e1e4e8a4608e77c79714b2e77c0970d2ed7202a05e92ae407817481887b",
1616
- "sha256:85e85586565842f6932abebd4c18bcb1074223dc0b3576e7d173ca710622813a",
1617
- "sha256:87ebdf787d4888e3f3f2d523eadc6e18c6d18c6d0eb173801a189641627fb37e",
1618
- "sha256:8a3ce026d73290f42f08dafecbd82c193a74df280461fbf97300fec51fd133ee",
1619
- "sha256:9132cd363a68a4c3daa7c8704a654b1e39d3360f6f5b8ddd470608a945236c07",
1620
- "sha256:99cd41ff91afd94896fea3bc002706b6ae4ce95727d06e4a0f39c0a8d8bd8b1a",
1621
- "sha256:9eeb3fcbc13ba40dfbdb22d01d196a28e9cef9ed4c29b60061a1e0e823a9929d",
1622
- "sha256:a06c76364a9360e33d6d23769aefdf7f66f38e2ffb60ceb1baaa4989d83b695c",
1623
- "sha256:a07891c3f4805442b31b71e84ba3cf29ed1aa9a428284e06deeb4b23e5b46343",
1624
- "sha256:a24a81f9715ee42ef59a316cc11611c98fe23920f7c81861315c9f3ff4a230f4",
1625
- "sha256:a252f21c27e38347e60111a3266b03827422a7d5525951aceee313aa68bab1d2",
1626
- "sha256:a311d8e1da24be5c1ccf85cbfb06315dbaa1703d5a1eab3f6432c72b837917c8",
1627
- "sha256:a5274669f37f2343635a347b91a60777621341ab3378e9c6ac9335eee704bddf",
1628
- "sha256:aa5e304a873fabddc11e484e9b6b738bd38bd7bed17b09aa84eecf5332e8b8bb",
1629
- "sha256:ab4af6352741a604c431c6072fce5bee33bf0f20dc7a56618d6bf6bb89e9810c",
1630
- "sha256:b553d04b5e778a8e56d57eb134aff42a92718ecba45e79c4764ecfa40efd92ff",
1631
- "sha256:b84800013769a78ccb9ef4659402e26d06867e337b61ec365f77ad008adea80e",
1632
- "sha256:b84ffdf877644e7096aa936991efeed873f7f3df57b9cd001312b7668ab08550",
1633
- "sha256:bcaa50684dcaadfa599ac48f81103c756d791cfd85c97203d2217c593d48b860",
1634
- "sha256:be9f2c802dcfce3f71298303aa5dad0dce440a76c52f2f60dacd8656dab78793",
1635
- "sha256:c643734307300234fafa36bf2a040a7235f8f177ea1fd6ec1423aea6fb7b929f",
1636
- "sha256:c79cead5b5bc584d9c71451cb984d0e3a84e0c0937379c8efcbf27c8d661b851",
1637
- "sha256:c7e057326434e441306226fbeb5d1aaf14a2637efe97ba668306635835f32ad7",
1638
- "sha256:c912c259304cfb5ee584481cfb7ce1ff932b4d61e6c9140b8f19cb7b5ed82332",
1639
- "sha256:ce66d8e46da2bb5ee313a745cbd2e391d319176c1f7a9451bfcd3a2fb920859b",
1640
- "sha256:ced2f09ef276fd58611a1ef502164ad266d2b75174e5a40cabbdb4033f9f6cf2",
1641
- "sha256:cfe5a5fec635799ef33428f1e5e61bafa45a92a96190ba731561ba558ccc214d",
1642
- "sha256:d13e6725992e2d2fd7d81d4f5241952d13740121dfd501da09201be39b2c003a",
1643
- "sha256:d34d75f892b3ab73ba11cab5442cce7b3e168fd64162b16f0e1e0d09c508edef",
1644
- "sha256:d5b89cdfb2ee051b71e8c3c70bd81a9eff81100f736a269136fe1a68efe00474",
1645
- "sha256:d5ed429d0b8edaac649e889b4ffcedb6c80b06629a3f93050e3dddfb99235bee",
1646
- "sha256:da028256b04ec30e5e0114b6f76172938c313991f0a2d3d894271315cf5d5e43",
1647
- "sha256:dcbf65f1f66a26cdd88c35cf68fb4729c5d1cd2e88added72420541dfb212034",
1648
- "sha256:dd34767fa19848d35659ffc0a75314f58c7af3f1cd87ec521e8292a1238398a3",
1649
- "sha256:ddf799247318f34dbcd2efa8c95a8d0642674e926bb1774cf9b63dfd2a389d1c",
1650
- "sha256:de286598cc65d2b489411174b1faec2f5a7775fb3201fd925db2a76b4030f37d",
1651
- "sha256:e471bc5769ff073b058cfadb0d736b56ce067c8560eabeb0da88462df98c23e7",
1652
- "sha256:e854312c4103f2ad4c0dc023b69b77ebfd2c89db5f86c4c94dc2353f9a92167e",
1653
- "sha256:ea8cd6ca0ee9f616aaef3afc6882e32c2cbf18b00d96313ffd76af650574034d",
1654
- "sha256:f2302660e32562a532b442480121aef8aa61a5bdb20b30bf0adab29f10a5a4b4",
1655
- "sha256:f497a1ea81d4cd7c10ddcaa685135b9aabd291af3d55775a9ddf3cb7a364cdd9",
1656
- "sha256:f4ddbe407477f04c45115d1a4e5bc480f753553b534d338d4c3358b1cdd0ea52",
1657
- "sha256:f747dc8edcfe740130f28f32f3995e955494285717e86ee25af51db2219df08a",
1658
- "sha256:fad54e871165f6ec2f536063ac74c3104508a12963e64072ba44bd822de52b0c",
1659
- "sha256:fc459e5d73be2d6332fcfe8dbf3d8994671fe33c700f4565988ecfa511547253",
1660
- "sha256:fd86572566fb40189a8260446158235159bc7a82dfbc87a3b39cf4fb57fcec1c"
1557
+ "sha256:014c83ba1ec97993cfe94e77fe6b56daa76bc0c218b86938971574c28942d044",
1558
+ "sha256:039b264cdb31c44b48f9821e2afbf8f37df49e0fb837e24a942918b36c567e31",
1559
+ "sha256:04cb445bed86aaf00aaa97d41a8b6e30f100f21e81c34caaec4efc684cb57768",
1560
+ "sha256:04d92589e481a8b68a005a5a1e0646a91c76f322c397c4635298c57cf63699b5",
1561
+ "sha256:0904f3b79d7b845bef0715afe1900da634d12b97f05b9479cb472880ca07cb9c",
1562
+ "sha256:0907f39b49ae818fe8af50aaa0f19afbc8ca164aea0865181ca7af17a3ac690b",
1563
+ "sha256:0e763087828ee9644f0c89c57f9b75f0a50fdf3e8f5d8fac5cfc351337e89a99",
1564
+ "sha256:105c00efb65c863630b2b63cbf7b8267e4da2d44b62284efbb19a03b04c337d4",
1565
+ "sha256:13609d9d77249447aa73357b14831b0f3b95f275026c9ff20dd105f981f53a0c",
1566
+ "sha256:1c5d273c5f1411c0d26c4f066c398d4a434b1f97bb5fa409189bedce86d4add4",
1567
+ "sha256:1d9a1b5813d00ea6151f6ccf64d1fa16892771dfdda12ba87162d15ec4ea3e1e",
1568
+ "sha256:243971550fb46c3039257f75e65610002d84304c505f609bbd9779e20a653a0a",
1569
+ "sha256:2f5cc48a845d755b6db236f8c29c2b54773eb4c7e4ee2ead43812d73718784b0",
1570
+ "sha256:33b830850488acbcd358c78a4fecfafe7031667b4da8ddff5546295dc962cdeb",
1571
+ "sha256:33c0da852e8a40246cd8e20cf3b2fc17ca52a45e9b5f7983c93db26f5d24b87b",
1572
+ "sha256:36a0a3f42ed7dfdbca2a69a541519ffd5064a5692152fc0018109e74370d7345",
1573
+ "sha256:37c94712e533ea06f0b1e4d934811c520b1914ce0e4da3916220717aa7a86bc6",
1574
+ "sha256:3b16a7959d04b1497281c062c180413565c3f3469211d78799ad5b9a75f67796",
1575
+ "sha256:419d2aadd5746efc2e9df0f33c05570d8192e6f6a6098ab05acce586f44ce8a5",
1576
+ "sha256:420c66e35d85c0ca5dc6a38147d83ef239762542900e5921ebbdb89333c540ea",
1577
+ "sha256:4bf9d8a35f77df5638c61b5012ba5225109ec1cc15bc5eb097036b3c3cc939f3",
1578
+ "sha256:4d2b86f81c1c9310a7e774e3cc9e927a3d0bf583ecbfa01498dd626930025428",
1579
+ "sha256:535747dbc200349d7fb434cffcb28e770f0290f69b225f56dc3803aa7210cdea",
1580
+ "sha256:571173fa04c8e8d6235ab32ae67fecca97777e2e1b4a1a30f3022c34e397c1c1",
1581
+ "sha256:5734d47669118d75c28981e562d4530ceb77342d31ffef6def5edd5ad4f05d7b",
1582
+ "sha256:58055adffabfa243516a197aa9f85f0dd56d905b0fba1a10193269759c29ccb0",
1583
+ "sha256:58e91be0a233adef698d3e6be54f10401bb91fd7854c0d4c4d50e0d3711e72f1",
1584
+ "sha256:59b75818e3046e9319143157f3dc4b43679a550c2060a17cbf3e39cc0b552925",
1585
+ "sha256:5c60915ebb8f562317ba5ff6b8c32e25c0882289b201a9f2fb2987f91efd95d8",
1586
+ "sha256:5fe465bc691264adce601527a972990c1174075d86bcbe9968fd20c95e0b1948",
1587
+ "sha256:60fb0ca084a92da96474b8b405a7ea76dfecac3c68db54383e7934b6f3871169",
1588
+ "sha256:6466c6999545cf00c4c142dfcbbf2db396dc735f005dcf8f91d57e351a79472b",
1589
+ "sha256:66b08ba4c5cbf0eaa2e9692b203073f198d5d469d8b15d1c7a4854ce7032b2e2",
1590
+ "sha256:6a2c37c3114f87ca7f10113756026eecb49656514debad600dcbec21f355ccea",
1591
+ "sha256:6caf54ffbf84b30470a8118f275afee9234e616572e4e41bae1dc19198c37294",
1592
+ "sha256:6d4da2baab6d96ceedd9176b3c142e1198b0310bc8dc04e18a3caab65c3a322c",
1593
+ "sha256:6fbb61617af1c56f95d53170ae9fa6c9aef6de1abd02fcc50064bfc672efb18d",
1594
+ "sha256:70f266b536c590060b707dddfb6cf9f17e24fd30b992242e774543d256265c43",
1595
+ "sha256:7471bc920d97c51c37ea8127f13b2adca43c3d78c53313b26a1f428e99d2c254",
1596
+ "sha256:77849525340c99f516d793dddbcee16b18d50af892ac43c8de1a6f343d41e3b5",
1597
+ "sha256:78853ca3c6ca2f012daa2b07dbabbb8db0f09d4dbe8ee828d294b3445d3f4cd8",
1598
+ "sha256:7a0d1f026b72d627fa5c8a57cbc86ad209b64aa2a65833c83b290ace5cbee126",
1599
+ "sha256:7a2da3d81cfe17c18038c6d98e6592aa9147d596d056119b0ee612c3c8bd5230",
1600
+ "sha256:7f2ef591e381cc36b8e53334e1b842c760c520c8a52d01e8626209400e93fe6a",
1601
+ "sha256:8134f0e0723e080d1c27bbe8fc149f0162e429fa1852482150015d0fce83eaf1",
1602
+ "sha256:851f49e7bd7d1cdaf328f3133942b252d5e3d3380690131f423cba8e435b87f5",
1603
+ "sha256:8b4910cce599cd2438f8da65f5ef199a70a1cdb6ab314926df78271ca5954240",
1604
+ "sha256:909f265c8c41f04c824bf741b2601fdcb56cab4bf56e018996b6494192ba0f58",
1605
+ "sha256:914eead2b843fc357f733b3fe39cc94f1b53d466e8cfe03080b1ed9d24ccfc73",
1606
+ "sha256:9193f7150937a4fd836b10eaa123e15d98e961d1fabac07e60adf2d4785f888a",
1607
+ "sha256:9818486c2bac88ae931df7e04905ee29bef49fd218c00f5f02bed4855254a101",
1608
+ "sha256:9c012ec357dec9408a83dad5541172a63c5cfa1421709f2e5811480d31ae1b28",
1609
+ "sha256:9c301fe9990cb5c081bf4881cb498743807c8e0e93fad7b85c02788456492ef8",
1610
+ "sha256:9c61cb7eaabcfa609c5bc0f5ff5869d72a2f02f17994e5fba5f971de516f3c82",
1611
+ "sha256:9f0a80f4c8ac3f774210b1cc1bc0e31e75502f2818dda9a144ff90e702c4d91d",
1612
+ "sha256:a7af571767a2ee342a171c16fc1b1a07a0bf511606d381703fb7cf397fe49d46",
1613
+ "sha256:a8ac51a2e441e9119b9395f4d893fbc4934c64c8ba58be9b9eaa85591249e548",
1614
+ "sha256:ab565a405bfdea61260145d8cc987aa66d1998fd0e0ccd4348008f4e6a39ee33",
1615
+ "sha256:adb4a5fef041f7179bb264203add873c147d169cf2f8d0adae89ff2e51271bac",
1616
+ "sha256:b6795ca4198d6cb7fc2c6163214f6555a6bc5f0ae1e268e76139dec4b37c4499",
1617
+ "sha256:c050bbc7bba94c77e4ed7438f4fda1babe98ab145691d80aa6f60df934a1468b",
1618
+ "sha256:c13230b688fbb9122251b74daa092175811eb64cb7bd1c98e2c8193dfa2b0bd5",
1619
+ "sha256:c1f17a8caebe0facd4556b1e0adfe0987c17feebed88e7bb6b5365c45c84c5d6",
1620
+ "sha256:c2e66f3f22d6c1515ce70f2e7c3e9c6f3ff0ff33480125c9f9c53e8f6508e30f",
1621
+ "sha256:c33e9e4878972f430b0cc06de3bf2a28d054a9efb4f8426d27de0d9cb81396ff",
1622
+ "sha256:c41e9b60fc0fa57f5d73306417d2f9d668202cca6944f9435878c55a5e7ae213",
1623
+ "sha256:c8102deaf911938233f760426e6a5e287388521de95111d5c8de26c8a1028924",
1624
+ "sha256:c9c2795ee3692097ff226ab806005d36bb9691fca9b35353542b57ea749cc830",
1625
+ "sha256:cda36d8e7bfd63b3e44e75163265429caa5d935b672b00f71bccc8c010518c64",
1626
+ "sha256:d0f845539230b8269aec902bc978b0cc403f52f002d18a04492efc943404d0bc",
1627
+ "sha256:d1322f237c2979b84096f4239c17828ff17fea6b3bbe96c44381c5f587c44c26",
1628
+ "sha256:d32e5ca5f16dafb269ee50b60d32b00c704b3f6f78e238105f1d94a3a5f24bf5",
1629
+ "sha256:d67b0462c8a3c3d93033e7c79cacdfc57d08e5220d9115bcb24a23edf5a5900d",
1630
+ "sha256:d76bdc1f9396ae70a55d050cf9743d88141c62ce0a22a3f627fab1d11c2f8bc6",
1631
+ "sha256:d8429bf97906bfe6c61f9dbfb3342e0d88120da61939da8bd04f830cc3eab3b8",
1632
+ "sha256:da5057e1bb257c967feee8ba67f3ebf379e801c7717f238b3d8c9caf00fc8f93",
1633
+ "sha256:dacd0ecd08fda3cb2f85b60cabea7da326dcb2fc15fbb23a88830a80144cc9f2",
1634
+ "sha256:dc366f158e2fb2add9d4e57338ca48f12611024278688ee657eb0b853fcb5de5",
1635
+ "sha256:e1eff22b831dfd5694989cc1f0789980f18391f614ac67c851af9a8e6d25e9ba",
1636
+ "sha256:e4b2d5e847fb7958583b74910cc19e5ec4ece514487385677b26433b2546116e",
1637
+ "sha256:e532f34d42d1a421fa00ed6b7735d14ac2e340256c1bad26a5e1dc1252b0bed7",
1638
+ "sha256:e5f077641a6713ce9d38df9e85d4fb9e008677fc0775cbaeb32ddfc3b319d4ca",
1639
+ "sha256:e715909b0966d1774d8a26e14e2f4a3ae75909dca526901c6306286b2dcbfbdc",
1640
+ "sha256:e753db9e40dda7302e0ac3e1e6e1325fb7f7b4694f87a7314ab15dd5d57911a7",
1641
+ "sha256:e7967ea55c6dea6becba4d5870e2fa0aa4915a8be7ebff1bb79e6207aa75ce8d",
1642
+ "sha256:ef11695493ec3f06f7b2678ca274bcabb4ca04057317df268ddbfd8b05f661a8",
1643
+ "sha256:f27e980f2feba5dfe7a32b22b125470de69c0bd113c75e16165de909a777f512",
1644
+ "sha256:f2cf17b33773be446a588551ea6a746b2d70dd0bc90dc31f1dd7648975a63c6b",
1645
+ "sha256:f44e7579a769a21d5b5e3166916bfe30ee175aaffff750324cbb11be2dbec5ad",
1646
+ "sha256:f48a85bb437fab7782021c40bfee6b15146928b96960d008ace41b6901a0f21d",
1647
+ "sha256:fb40cac5b1a6378fdccc99268f1033112ee4636e4fd9aaf240f6930d1fcea12c"
1661
1648
  ],
1662
1649
  "index": "pypi",
1663
1650
  "markers": "python_version >= '3.10'",
1664
- "version": "==7.14.1"
1651
+ "version": "==7.14.2"
1665
1652
  },
1666
1653
  "cryptography": {
1667
1654
  "hashes": [
@@ -1733,11 +1720,11 @@
1733
1720
  },
1734
1721
  "filelock": {
1735
1722
  "hashes": [
1736
- "sha256:7fc1b3f39cf172fd8203812043c57b8a65aef9969f38b6704f628b881f761a84",
1737
- "sha256:e58333029cc9b925f39aad59b1d8f0a1ad836af4e60d7217f4a4dba87461261d"
1723
+ "sha256:10cdb3656fc44541cdf30652a93fb10ec6b05325620eb316bd26893e4201538a",
1724
+ "sha256:dac1648087d5115554850d113e7dd8c83ab2d38e3435dde2d4f163847e57b767"
1738
1725
  ],
1739
1726
  "markers": "python_version >= '3.10'",
1740
- "version": "==3.29.3"
1727
+ "version": "==3.29.4"
1741
1728
  },
1742
1729
  "flake8": {
1743
1730
  "hashes": [
@@ -2632,12 +2619,12 @@
2632
2619
  },
2633
2620
  "pytest": {
2634
2621
  "hashes": [
2635
- "sha256:2c5efc453d45394fdd706ade797c0a81091eccd1d6e4bccfcd476e2b8e0ab5d9",
2636
- "sha256:b86ada508af81d19edeb213c681b1d48246c1a91d304c6c81a427674c17eb91c"
2622
+ "sha256:1088fbde8f2b49d95a549a195707afa7a76a3ce9bcadc26b6d71f0ffda5fe313",
2623
+ "sha256:37a86b45efb9a47a61a36449063e8e18d0cab3161329fc099eb21783169c4f0c"
2637
2624
  ],
2638
2625
  "index": "pypi",
2639
2626
  "markers": "python_version >= '3.10'",
2640
- "version": "==9.0.3"
2627
+ "version": "==9.1.1"
2641
2628
  },
2642
2629
  "pytest-cov": {
2643
2630
  "hashes": [
@@ -3055,11 +3042,11 @@
3055
3042
  },
3056
3043
  "vcrpy": {
3057
3044
  "hashes": [
3058
- "sha256:2d16f31ad56493efb6165182dd99767207031b0da3f68b18f975545ede8ac4b9",
3059
- "sha256:58e3053e33b423f3594031cb758c3f4d1df931307f1e67928e30cf352df7709f"
3045
+ "sha256:7ce58c9e2792b246f79d6f4b3e9660676cc6f853be17e1547305b4437ab1ff85",
3046
+ "sha256:d73a6e4eb6dae8148e659764b7a00e68cc51ba29ba9e6a85e1f0790ad96b97df"
3060
3047
  ],
3061
3048
  "markers": "python_version >= '3.10'",
3062
- "version": "==8.1.1"
3049
+ "version": "==8.2.1"
3063
3050
  },
3064
3051
  "vcs-versioning": {
3065
3052
  "hashes": [
@@ -3071,11 +3058,11 @@
3071
3058
  },
3072
3059
  "virtualenv": {
3073
3060
  "hashes": [
3074
- "sha256:75f4127d4067397c64f38579ce918fec6bf9ca2cd4f48685e82952cc3c035840",
3075
- "sha256:938ff0fd3f4e0f0d3a025f67a3d2f25e3c3aabbcd5857ea6170619138d72d141"
3061
+ "sha256:55aa670b67bbfb991b03fda39bd3276d92c419d702376e98c5df1c9989a26783",
3062
+ "sha256:dca3bf98275a59c652b69d68e73433e597d977c2da9198882479d1a7188009c8"
3076
3063
  ],
3077
- "markers": "python_version >= '3.8'",
3078
- "version": "==21.4.3"
3064
+ "markers": "python_version >= '3.9'",
3065
+ "version": "==21.5.1"
3079
3066
  },
3080
3067
  "watchfiles": {
3081
3068
  "hashes": [
@@ -1,6 +1,6 @@
1
- import json
2
1
  import logging
3
2
  import re
3
+ from pathlib import Path
4
4
 
5
5
  import camelot # pip install camelot-py==1.0.9 for now
6
6
 
@@ -178,7 +178,7 @@ We probably want code that tells us what PDF this is pulled from, on which row.
178
178
  """
179
179
 
180
180
 
181
- def parse_pdf(pdffile: str, field_fixes: dict | None = None):
181
+ def parse_pdf(pdffile: str | Path, field_fixes: dict | None = None):
182
182
  """Parse a PDF file to extract data from tables.
183
183
 
184
184
  Args:
@@ -227,7 +227,7 @@ def parse_pdf(pdffile: str, field_fixes: dict | None = None):
227
227
  patchedheaders.append(field_fixes[item])
228
228
  else:
229
229
  logger.debug(
230
- f"New header type found: {item}, not in {' '.join(sorted(list(field_fixes.keys())))}"
230
+ f"New header type found: {item}, not in field_fixes: '{' '.join(sorted(list(field_fixes.keys())))}'"
231
231
  )
232
232
  patchedheaders.append(item)
233
233
  orphanholder = {
@@ -257,7 +257,7 @@ def parse_pdf(pdffile: str, field_fixes: dict | None = None):
257
257
  patchedheaders.append(field_fixes[item])
258
258
  else:
259
259
  logger.debug(
260
- f"New header type found: {item}, not in {' '.join(sorted(list(field_fixes.keys())))}"
260
+ f"New header type found: {item}, not in field_fixes: '{' '.join(sorted(list(field_fixes.keys())))}'"
261
261
  )
262
262
  patchedheaders.append(item)
263
263
  headerfirst = patchedheaders
@@ -286,7 +286,7 @@ def parse_pdf(pdffile: str, field_fixes: dict | None = None):
286
286
  isheader = False
287
287
  orphanedheader = False
288
288
 
289
- else: # seenheader
289
+ else: # seendata
290
290
  if isheader: # Supplement to a header on a latter page
291
291
  filerowholder.append(
292
292
  "\tMostly empty row, seems to be appending to a header"
@@ -325,6 +325,7 @@ def parse_pdf(pdffile: str, field_fixes: dict | None = None):
325
325
  locallist[-1][
326
326
  fieldname
327
327
  ] = cleancell # Add it to the previous line
328
+ locallist[-1]["_int_raw_fields"].extend(row)
328
329
  isheader = False
329
330
 
330
331
  else:
@@ -341,16 +342,18 @@ def parse_pdf(pdffile: str, field_fixes: dict | None = None):
341
342
  for cellindex, cell in enumerate(row):
342
343
  line[headerfirst[cellindex]] = clean_cell(cell)
343
344
  filerowholder.append(f"\t\t{line}")
345
+ line["_int_raw_fields"] = row
344
346
  locallist.append(line)
345
347
 
346
348
  report = table.parsing_report
347
349
 
348
350
  for lineindex, line in enumerate(locallist):
349
351
  line["_int_accuracy"] = report["accuracy"]
350
- line["_int_pdf_filename"] = pdffile.split("/")[-1].split("\\")[-1]
352
+ line["_int_pdf_filename"] = str(pdffile).split("/")[-1].split("\\")[-1]
351
353
  line["_int_page"] = report["page"]
352
354
  line["_int_table_number"] = report["order"]
353
- line["_int_raw_fields"] = json.dumps(list(line.values()))
355
+ # line["_int_raw_fields"] = row # HEY! Need to handle for supplemented lines
356
+ # line["_int_raw_fields"] = json.dumps(list(line.values()))
354
357
  line["_int_data_items"] = count_data_items(line) # type: ignore
355
358
  if "Event Number" in line:
356
359
  line["Event Number"] = line["Event Number"].replace("\n", "")