pdfdancer-client-python 0.2.18__py3-none-any.whl → 0.2.19__py3-none-any.whl

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.
pdfdancer/pdfdancer_v1.py CHANGED
@@ -900,11 +900,11 @@ class PDFDancer:
900
900
  all_elements.extend(page_snap.elements)
901
901
  return self._filter_snapshot_elements(all_elements, object_type, position, tolerance)
902
902
 
903
- def select_paragraphs(self) -> List[TextObjectRef]:
903
+ def select_paragraphs(self) -> List[ParagraphObject]:
904
904
  """
905
- Searches for paragraph objects returning TextObjectRef with hierarchical structure.
905
+ Searches for paragraph objects returning ParagraphObject instances.
906
906
  """
907
- return self._find_paragraphs(None)
907
+ return self._to_paragraph_objects(self._find_paragraphs(None))
908
908
 
909
909
  def _find_paragraphs(self, position: Optional[Position] = None, tolerance: float = DEFAULT_TOLERANCE) -> List[
910
910
  TextObjectRef]:
pdfdancer/types.py CHANGED
@@ -266,6 +266,13 @@ class ParagraphObject(PDFObjectBase):
266
266
  super().__init__(client, object_ref.internal_id, object_ref.type, object_ref.position)
267
267
  self._object_ref = object_ref
268
268
 
269
+ def __getattr__(self, name):
270
+ """
271
+ Automatically delegate attribute/method lookup to _object_ref
272
+ if it's not found on this object.
273
+ """
274
+ return getattr(self._object_ref, name)
275
+
269
276
  def edit(self) -> ParagraphEdit:
270
277
  return ParagraphEdit(self, self.object_ref())
271
278
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pdfdancer-client-python
3
- Version: 0.2.18
3
+ Version: 0.2.19
4
4
  Summary: Python client for PDFDancer API
5
5
  Author-email: "The Famous Cat Ltd." <hi@thefamouscat.com>
6
6
  License:
@@ -5,11 +5,11 @@ pdfdancer/image_builder.py,sha256=Omxc2LcieJ1MbvWBXR5_sfia--eAucTUe0KWgr22HYo,84
5
5
  pdfdancer/models.py,sha256=kK2tIRwJ8XQJZZ__uSgvU6E0NRtj11Jzwwhy-d8EKSQ,32210
6
6
  pdfdancer/paragraph_builder.py,sha256=x5XhPo-GUeovQuGbrH7MyyenITcy6in7bz6CD9r-ZqU,9458
7
7
  pdfdancer/path_builder.py,sha256=KJC8toLhbCbtnxz8pphtpzgoBemGHlrcC1s02RAvCJ8,15862
8
- pdfdancer/pdfdancer_v1.py,sha256=pR2TnA57l2tXzVZHaBz_QFvZcVAdeWgwUXtO5OhPOPc,87350
9
- pdfdancer/types.py,sha256=SYbyzFJu1nDartalqgrceSTiLtsqZgIFQndvHz5Tnxw,12435
10
- pdfdancer_client_python-0.2.18.dist-info/licenses/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
11
- pdfdancer_client_python-0.2.18.dist-info/licenses/NOTICE,sha256=xaC4l-IChAmtViNDie8ZWzUk0O6XRMyzOl0zLmVZ2HE,232
12
- pdfdancer_client_python-0.2.18.dist-info/METADATA,sha256=37zeBth-hMmDWCMBdqShEsC8neWz8kqFOZIC-ALm4RA,24668
13
- pdfdancer_client_python-0.2.18.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
14
- pdfdancer_client_python-0.2.18.dist-info/top_level.txt,sha256=ICwSVRpcCKrdBF9QlaX9Y0e_N3Nk1p7QVxadGOnbxeY,10
15
- pdfdancer_client_python-0.2.18.dist-info/RECORD,,
8
+ pdfdancer/pdfdancer_v1.py,sha256=dSkrWfkbon-d5HcgOj1hoJwaFMnr7rWp_laGhXF64jE,87364
9
+ pdfdancer/types.py,sha256=fMYNmT73ism5bN8ij8G8hELKWQA8-8o7AlIX6YFcSEw,12652
10
+ pdfdancer_client_python-0.2.19.dist-info/licenses/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
11
+ pdfdancer_client_python-0.2.19.dist-info/licenses/NOTICE,sha256=xaC4l-IChAmtViNDie8ZWzUk0O6XRMyzOl0zLmVZ2HE,232
12
+ pdfdancer_client_python-0.2.19.dist-info/METADATA,sha256=Ex5-8upudpJ8ZBvdppMnU_zB2OK58iIiD3um9xMfek4,24668
13
+ pdfdancer_client_python-0.2.19.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
14
+ pdfdancer_client_python-0.2.19.dist-info/top_level.txt,sha256=ICwSVRpcCKrdBF9QlaX9Y0e_N3Nk1p7QVxadGOnbxeY,10
15
+ pdfdancer_client_python-0.2.19.dist-info/RECORD,,