python-filewrap 0.2.9__tar.gz → 0.2.9.1__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.
@@ -1,9 +1,9 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: python-filewrap
3
- Version: 0.2.9
3
+ Version: 0.2.9.1
4
4
  Summary: Python file wrappers.
5
- Home-page: https://github.com/ChenyangGao/python-modules/tree/main/python-filewrap
6
5
  License: MIT
6
+ License-File: LICENSE
7
7
  Keywords: file,wrapper
8
8
  Author: ChenyangGao
9
9
  Author-email: wosiwujm@gmail.com
@@ -16,12 +16,14 @@ Classifier: Programming Language :: Python
16
16
  Classifier: Programming Language :: Python :: 3
17
17
  Classifier: Programming Language :: Python :: 3.12
18
18
  Classifier: Programming Language :: Python :: 3.13
19
+ Classifier: Programming Language :: Python :: 3.14
19
20
  Classifier: Programming Language :: Python :: 3 :: Only
20
21
  Classifier: Topic :: Software Development
21
22
  Classifier: Topic :: Software Development :: Libraries
22
23
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
23
24
  Requires-Dist: python-asynctools (>=0.1.3)
24
25
  Requires-Dist: python-property (>=0.0.3)
26
+ Project-URL: Homepage, https://github.com/ChenyangGao/python-modules/tree/main/python-filewrap
25
27
  Project-URL: Repository, https://github.com/ChenyangGao/python-modules/tree/main/python-filewrap
26
28
  Description-Content-Type: text/markdown
27
29
 
@@ -120,19 +120,19 @@ class AsyncBufferedReader(BufferedReader):
120
120
 
121
121
  @cached_property
122
122
  def _flush(self, /):
123
- return ensure_async(self.raw.flush, threaded=True)
123
+ return ensure_async(getattr(self.raw, "flush"), threaded=True)
124
124
 
125
125
  @cached_property
126
126
  def _read(self, /):
127
- return ensure_async(self.raw.read, threaded=True)
127
+ return ensure_async(getattr(self.raw, "read"), threaded=True)
128
128
 
129
129
  @cached_property
130
130
  def _readinto(self, /):
131
- return ensure_async(self.raw.readinto, threaded=True)
131
+ return ensure_async(getattr(self.raw, "readinto"), threaded=True)
132
132
 
133
133
  @cached_property
134
134
  def _readline(self, /):
135
- return ensure_async(self.raw.readline, threaded=True)
135
+ return ensure_async(getattr(self.raw, "readline"), threaded=True)
136
136
 
137
137
  @cached_property
138
138
  def _seek(self, /):
@@ -842,10 +842,10 @@ def bio_chunk_iter(
842
842
  use_readinto = False
843
843
  if callable(bio):
844
844
  read = bio
845
- elif can_buffer and isinstance(bio, SupportsReadinto):
845
+ elif can_buffer and hasattr(bio, "readinto"):
846
846
  readinto = bio.readinto
847
847
  use_readinto = True
848
- elif isinstance(bio, SupportsRead):
848
+ elif hasattr(bio, "read"):
849
849
  read = bio.read
850
850
  else:
851
851
  readinto = bio.readinto
@@ -915,10 +915,10 @@ async def bio_chunk_async_iter(
915
915
  use_readinto = False
916
916
  if callable(bio):
917
917
  read: Callable[[int], Awaitable[Buffer]] = ensure_async(bio, threaded=True)
918
- elif can_buffer and isinstance(bio, SupportsReadinto):
918
+ elif can_buffer and hasattr(bio, "readinto"):
919
919
  readinto = ensure_async(bio.readinto, threaded=True)
920
920
  use_readinto = True
921
- elif isinstance(bio, SupportsRead):
921
+ elif hasattr(bio, "read"):
922
922
  read = ensure_async(bio.read, threaded=True)
923
923
  else:
924
924
  readinto = ensure_async(bio.readinto, threaded=True)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "python-filewrap"
3
- version = "0.2.9"
3
+ version = "0.2.9.1"
4
4
  description = "Python file wrappers."
5
5
  authors = ["ChenyangGao <wosiwujm@gmail.com>"]
6
6
  license = "MIT"