megfile 5.0.4__py3-none-any.whl → 5.0.4.post1__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.
@@ -40,7 +40,7 @@ class BaseMemoryHandler(Readable[bytes], Seekable, Writable[bytes], ABC):
40
40
  return self._fileobj.seek(offset, whence)
41
41
 
42
42
  def readable(self) -> bool:
43
- return self._mode[0] == "r" or self._mode[-1] == "+"
43
+ return self._mode[0] == "r" or "+" in self._mode
44
44
 
45
45
  def read(self, size: Optional[int] = None) -> bytes:
46
46
  if not self.readable():
@@ -62,7 +62,7 @@ class BaseMemoryHandler(Readable[bytes], Seekable, Writable[bytes], ABC):
62
62
  return self._fileobj.readlines(hint)
63
63
 
64
64
  def writable(self) -> bool:
65
- return self._mode[0] == "w" or self._mode[0] == "a" or self._mode[-1] == "+"
65
+ return self._mode[0] == "w" or self._mode[0] == "a" or "+" in self._mode
66
66
 
67
67
  def flush(self):
68
68
  self._fileobj.flush()
megfile/utils/atomic.py CHANGED
@@ -116,7 +116,7 @@ class AtomicTextIOWrapper(TextIOWrapper):
116
116
  bool: True if the abort was performed, False otherwise.
117
117
  """
118
118
  if hasattr(self._raw, "abort"):
119
- return self._raw._abort()
119
+ return self._raw.abort()
120
120
  return False
121
121
 
122
122
  def __exit__(self, exc_type, exc_val, exc_tb):
@@ -139,5 +139,9 @@ class AtomicTextIOWrapper(TextIOWrapper):
139
139
  f"skip closing atomic file-like object before deletion: {self}"
140
140
  )
141
141
  return
142
- self.flush()
143
- self.close()
142
+ try:
143
+ if self._raw.writable():
144
+ self.flush()
145
+ self.close()
146
+ except Exception:
147
+ pass
megfile/version.py CHANGED
@@ -1 +1 @@
1
- VERSION = "5.0.4"
1
+ VERSION = "5.0.4.post1"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: megfile
3
- Version: 5.0.4
3
+ Version: 5.0.4.post1
4
4
  Summary: Megvii file operation library
5
5
  Author-email: megvii-reng <megvii-reng@googlegroups.com>
6
6
  Project-URL: Homepage, https://github.com/megvii-research/megfile
@@ -13,10 +13,10 @@ megfile/sftp_path.py,sha256=zxuT1hk7sgoOUwq6KBXS__caX8Hk_LgPjINQheTZWAU,52063
13
13
  megfile/smart.py,sha256=Lab2jxprj-zvPw5GqUWlWiEY8bcpRlviks_qp9r-km8,38224
14
14
  megfile/smart_path.py,sha256=kGidkM5S58ChE3LVZMcUACs3IQgsqh9m04sp6-wxuhk,12615
15
15
  megfile/stdio_path.py,sha256=cxaDr8rtisTPnN-rjtaEpqQnshwiqwXFUJBM9xWY7Cg,2711
16
- megfile/version.py,sha256=nxcOThQpxgVcGzsD8ROZ-d6RNNhY7dxyBkl0oU0Aahs,19
16
+ megfile/version.py,sha256=MnVREJsp4Ik25QAKczs0kjFzRp3Aegh4XyEkdhOqwzI,25
17
17
  megfile/webdav_path.py,sha256=QrRYKBGWXkUZXEeHxAfVJkxnCfnczocBSRkVgDC_qC4,31421
18
18
  megfile/lib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
- megfile/lib/base_memory_handler.py,sha256=K4mq28vXVQD-05I64AMH2_7_3y5n7splcMNQZ7jYdxw,2871
19
+ megfile/lib/base_memory_handler.py,sha256=VEfw2RuynHFPtQ6KZv8hv8rnUwsj566Omg4cHajhARk,2863
20
20
  megfile/lib/base_prefetch_reader.py,sha256=MYaWOkXc3geZMYNPHlPZmmpOR6uSz-AMuCZwYdoz7t0,13296
21
21
  megfile/lib/combine_reader.py,sha256=Kp2wEloOUpTlIU7dve87MBpSzmIM-F9OtpTawAjFkiU,4828
22
22
  megfile/lib/compare.py,sha256=CPSbyqsQ396oSfxa7h0NdUUqBw5A3WOn6fHrNKkuinw,2188
@@ -41,12 +41,12 @@ megfile/lib/url.py,sha256=ER32pWy9Q2MAk3TraAaNEBWIqUeBmLuM57ol2cs7-Ks,103
41
41
  megfile/lib/webdav_memory_handler.py,sha256=7nq4o69ck_7dFh6xlYTBG8-rj49Q7gxwa3V2bHXEQz4,2551
42
42
  megfile/lib/webdav_prefetch_reader.py,sha256=M0X6E6t-DS5q9KiLvjVZx_AZuiW9SaIkBnIPLc774GQ,3941
43
43
  megfile/utils/__init__.py,sha256=lfJze58nO18ug8EUfSJgTTxOwj1p7FQdsnO1keBeMSo,12740
44
- megfile/utils/atomic.py,sha256=W3NInmDxytBBecktxY_D3S4rA0SX2v2M13ab8jXa4Yk,4061
44
+ megfile/utils/atomic.py,sha256=1skKRE7_tQP1FAgmYWlDRZyHNY5iyYYi0V8XQfSWeyI,4165
45
45
  megfile/utils/mutex.py,sha256=asb8opGLgK22RiuBJUnfsvB8LnMmodP8KzCVHKmQBWA,2561
46
- megfile-5.0.4.dist-info/licenses/LICENSE,sha256=xuY_rHyygMLmf0LgkKj_-wb-BxveHp9rTN0VDE73PrE,11365
47
- megfile-5.0.4.dist-info/licenses/LICENSE.pyre,sha256=9lf5nT-5ZH25JijpYAequ0bl8E8z5JmZB1qrjiUMp84,1080
48
- megfile-5.0.4.dist-info/METADATA,sha256=1SCUBMhm0XIjq06T-utC_zgtakXc3qjJF29a4-Yljvo,9226
49
- megfile-5.0.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
50
- megfile-5.0.4.dist-info/entry_points.txt,sha256=M6ZWSSv5_5_QtIpZafy3vq7WuOJ_5dSGQQnEZbByt2Q,49
51
- megfile-5.0.4.dist-info/top_level.txt,sha256=i3rMgdU1ZAJekAceojhA-bkm3749PzshtRmLTbeLUPQ,8
52
- megfile-5.0.4.dist-info/RECORD,,
46
+ megfile-5.0.4.post1.dist-info/licenses/LICENSE,sha256=xuY_rHyygMLmf0LgkKj_-wb-BxveHp9rTN0VDE73PrE,11365
47
+ megfile-5.0.4.post1.dist-info/licenses/LICENSE.pyre,sha256=9lf5nT-5ZH25JijpYAequ0bl8E8z5JmZB1qrjiUMp84,1080
48
+ megfile-5.0.4.post1.dist-info/METADATA,sha256=3GY4kMU9g3APFaQ2a7z0cexM4SX0HOesW2WOKdbCiMs,9232
49
+ megfile-5.0.4.post1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
50
+ megfile-5.0.4.post1.dist-info/entry_points.txt,sha256=M6ZWSSv5_5_QtIpZafy3vq7WuOJ_5dSGQQnEZbByt2Q,49
51
+ megfile-5.0.4.post1.dist-info/top_level.txt,sha256=i3rMgdU1ZAJekAceojhA-bkm3749PzshtRmLTbeLUPQ,8
52
+ megfile-5.0.4.post1.dist-info/RECORD,,