lazysdk 0.1.66__py3-none-any.whl → 0.1.68__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.
lazysdk/lazyfile.py CHANGED
@@ -97,6 +97,7 @@ def download(
97
97
  size_limit: int = None,
98
98
  range_start: int = None,
99
99
  range_end: int = None,
100
+ overwrite: bool = False
100
101
  ):
101
102
  """
102
103
  实现文件下载功能,可指定url、文件名、后缀名、请求头、文件保存路径
@@ -109,6 +110,7 @@ def download(
109
110
  :param size_limit:尺寸限制
110
111
  :param range_start:开始位置
111
112
  :param range_end:结束位置
113
+ :param overwrite: 覆盖
112
114
  :return:
113
115
  """
114
116
  if not headers:
@@ -192,6 +194,9 @@ def download(
192
194
  time_start = time.time() # 获取下载开始时间
193
195
  is_finish = False
194
196
 
197
+ if overwrite and os.path.exists(path_local):
198
+ delete(file=path_local)
199
+
195
200
  with open(path_local, "ab") as f: # wb新建文件,a追加
196
201
  for chunk in response.iter_content(chunk_size=chunk_size):
197
202
  try:
@@ -261,26 +266,36 @@ def safe_download(
261
266
  range_start=None,
262
267
  range_end=None
263
268
  ):
269
+ overwrite = False
270
+ overwrite_range_start = copy.deepcopy(range_start)
264
271
  while True:
265
- download_response = download(
266
- url=url,
267
- filename=filename,
268
- suffix_name=suffix_name,
269
- headers=headers,
270
- path=path,
271
- proxies=proxies,
272
- size_limit=size_limit,
273
- range_start=range_start,
274
- range_end=range_end
275
- )
276
- if download_response.get('is_finish') is True:
277
- local_file_dir = download_response.get('file_dir')
278
- return local_file_dir
279
- else:
280
- print(':( 下载中断')
281
- range_start = download_response.get('temp_size')
272
+ try:
273
+ download_response = download(
274
+ url=url,
275
+ filename=filename,
276
+ suffix_name=suffix_name,
277
+ headers=headers,
278
+ path=path,
279
+ proxies=proxies,
280
+ size_limit=size_limit,
281
+ range_start=range_start,
282
+ range_end=range_end,
283
+ overwrite=overwrite
284
+ )
285
+ if download_response.get('is_finish') is True:
286
+ local_file_dir = download_response.get('file_dir')
287
+ return local_file_dir
288
+ else:
289
+ print(':( 下载中断')
290
+ range_start = download_response.get('temp_size')
291
+ time.sleep(1)
292
+ print('将继续下载(断点续传)...')
293
+ overwrite = False
294
+ except:
295
+ print(':( 下载中断,将重新下载')
282
296
  time.sleep(1)
283
- print('将继续下载(断点续传)...')
297
+ overwrite = True
298
+ range_start = copy.deepcopy(overwrite_range_start)
284
299
 
285
300
 
286
301
  def read(
@@ -351,7 +366,7 @@ def save(
351
366
 
352
367
  if suffix:
353
368
  # 如果指定了后缀名,就加上后缀名
354
- file_dir = f'{file}.{suffix}'
369
+ file_dir = f'{file_dir}.{suffix}'
355
370
  else:
356
371
  # 如果没指定后缀名,就忽略
357
372
  pass
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lazysdk
3
- Version: 0.1.66
3
+ Version: 0.1.68
4
4
  Summary: 基于Python的懒人包
5
5
  Home-page: https://gitee.com/ZeroSeeker/lazysdk
6
6
  Author: ZeroSeeker
@@ -5,7 +5,7 @@ lazysdk/lazybase64.py,sha256=8jtuH9S1jICXpzxhRLe7xNur_o9TWbT1BRmTshZWYh0,669
5
5
  lazysdk/lazydict.py,sha256=uPc0YtLrFtBskLooChUbjapfjJ27HNG92cFRqGiTxdQ,7636
6
6
  lazysdk/lazyenv.py,sha256=P6HjO9cbBPzHD_Vs-Ww_GThDq-h9Wn31VSiu9OzTNWI,3024
7
7
  lazysdk/lazyexcel.py,sha256=r8_VbCzB1dRhMbK4Dwk-cr5keJCo6AV4r8SYe4O5y6k,15129
8
- lazysdk/lazyfile.py,sha256=fjwvPQorN7x4r1Yxkwuvq9XnzSopzXTmvz6Rf6NybFs,19861
8
+ lazysdk/lazyfile.py,sha256=zif3K5hm6CwLI73fJEpnynA1ZHg5EloFfyP_fBMKd9s,20434
9
9
  lazysdk/lazyflask.py,sha256=VUhJqtNz_evVyGOS40FKkkQWWrqGEUZ26cv1RQxS388,727
10
10
  lazysdk/lazyhtml.py,sha256=vTtiLPoAhWMzXsDBFsF0DoFSsKbfmuEPjPMOZI_n6ag,1867
11
11
  lazysdk/lazyid.py,sha256=pEmRpN78-6vdz4hzLxgoCSHJw6gvnOVQyNjqusZZLQE,607
@@ -26,7 +26,7 @@ lazysdk/lazyurl.py,sha256=N89QLK2A6vXr9gqp-9vnk9RXv_fOjw171lVl9eEoxtE,1550
26
26
  lazysdk/lazywebhook.py,sha256=HwJIZ5j3wUpnEfPkFY-Xq9T_9xdhCJ71dYsWNX22_3Y,8386
27
27
  lazysdk/lazywifi.py,sha256=FOvLPTcb6BQE6D8kjfB0TLpfgGxw8jqC3vZbTs6LbD4,716
28
28
  lazysdk/showdata.py,sha256=v9TrDWrLl0Fn2JzDzfiISYlZS3uumIXpm9Dpix2XAXg,1678
29
- lazysdk-0.1.66.dist-info/METADATA,sha256=AqOuOWKa_zZNqfZrPPB7Ke0LMigRjdLF4tEWZFDp0yA,1775
30
- lazysdk-0.1.66.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
31
- lazysdk-0.1.66.dist-info/top_level.txt,sha256=--bGS42ZHUhVeO83y1wfvKFg6OjkTLxQ4V4riqPQljY,8
32
- lazysdk-0.1.66.dist-info/RECORD,,
29
+ lazysdk-0.1.68.dist-info/METADATA,sha256=6bEOCJbbfOnTCu3GvljIvEjtSZujef9RkXztE2ukkxk,1775
30
+ lazysdk-0.1.68.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
31
+ lazysdk-0.1.68.dist-info/top_level.txt,sha256=--bGS42ZHUhVeO83y1wfvKFg6OjkTLxQ4V4riqPQljY,8
32
+ lazysdk-0.1.68.dist-info/RECORD,,