lazysdk 0.1.120__py3-none-any.whl → 0.1.121__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.

Potentially problematic release.


This version of lazysdk might be problematic. Click here for more details.

lazysdk/lazyhash.py ADDED
@@ -0,0 +1,60 @@
1
+ #!/usr/bin/env python3
2
+ # coding = utf8
3
+ """
4
+ @ Author : ZeroSeeker
5
+ @ e-mail : zeroseeker@foxmail.com
6
+ @ GitHub : https://github.com/ZeroSeeker
7
+ @ Gitee : https://gitee.com/ZeroSeeker
8
+ """
9
+ import requests
10
+ import hashlib
11
+
12
+
13
+ def md5_file(
14
+ file_path: str = None,
15
+ file_url: str = None
16
+ ):
17
+ """
18
+ 计算文件的md5
19
+ :param file_path: 本地文件路径
20
+ :param file_url: 网络文件地址
21
+ """
22
+ # 文件名不影响md5
23
+ d5 = hashlib.md5()
24
+ if file_path:
25
+ with open(r'%s' % file_path, 'rb') as f:
26
+ while True:
27
+ data = f.read(2048)
28
+ if not data:
29
+ break
30
+ d5.update(data) # update添加时会进行计算
31
+ return d5.hexdigest()
32
+ elif file_url:
33
+ resp = requests.get(file_url)
34
+ d5.update(resp.content) # update添加时会进行计算
35
+ return d5.hexdigest()
36
+ else:
37
+ return
38
+
39
+
40
+ def md5_str(
41
+ content,
42
+ encoding='UTF-8'
43
+ ):
44
+ d5 = hashlib.md5()
45
+ d5.update(content.encode(encoding=encoding)) # update添加时会进行计算
46
+ return d5.hexdigest()
47
+
48
+
49
+ def calculate_sha256(
50
+ content,
51
+ encoding: str='UTF-8'
52
+ ):
53
+ """
54
+ 计算文档的SHA-256哈希值
55
+ :param content:
56
+ :param encoding:
57
+ :return: SHA-256哈希字符串
58
+ """
59
+ # 使用BSON的JSON工具确保一致的序列化
60
+ return hashlib.sha256(content.encode(encoding)).hexdigest()
lazysdk/lazyjson.py CHANGED
@@ -1,6 +1,7 @@
1
1
  import json
2
2
  import decimal
3
3
  import datetime
4
+ import base64
4
5
 
5
6
 
6
7
  class LazyEncoder(json.JSONEncoder):
@@ -8,10 +9,25 @@ class LazyEncoder(json.JSONEncoder):
8
9
  if isinstance(obj, decimal.Decimal):
9
10
  return float(obj)
10
11
  elif isinstance(obj, datetime.datetime):
11
- return obj.strftime('%Y-%m-%d %H:%M:%S')
12
+ # # 将datetime对象转换为ISO格式字符串
13
+ return obj.isoformat()
12
14
  elif isinstance(obj, datetime.date):
13
- return obj.strftime('%Y-%m-%d')
14
- super(LazyEncoder, self).default(obj)
15
+ return obj.isoformat()
16
+ elif isinstance(obj, bytes):
17
+ # 将bytes转换为base64编码的字符串
18
+ try:
19
+ # 尝试将bytes解码为UTF-8字符串
20
+ return obj.decode('utf-8')
21
+ except UnicodeDecodeError:
22
+ # 如果UTF-8解码失败,回退到Base64编码
23
+ return base64.b64encode(obj).decode('utf-8')
24
+ # elif isinstance(obj, bson.timestamp.Timestamp):
25
+ # # # 将BSON时间戳转换为其时间表示的ISO格式字符串
26
+ # return obj.as_datetime().isoformat()
27
+ # elif isinstance(obj, bson.objectid.ObjectId):
28
+ # # # 将ObjectId转换为字符串
29
+ # return str(obj)
30
+ return super(LazyEncoder, self).default(obj)
15
31
 
16
32
 
17
33
  def json2str(
@@ -22,6 +38,11 @@ def json2str(
22
38
  在将json数据反序列化为str时,会遇到一些格式无法转换
23
39
  这里使用识别类型转换转为str
24
40
  目前支持类型:
41
+
42
+ 对于mongodb返回数据的处理:
43
+ from bson import json_util
44
+ default=json_util.default
45
+
25
46
  decimal --> str
26
47
  datetime.datetime --> str(%Y-%m-%d %H:%M:%S)
27
48
  datetime.date --> str(%Y-%m-%d)
lazysdk/lazytime.py CHANGED
@@ -1028,7 +1028,7 @@ def network_timestamp():
1028
1028
 
1029
1029
  def str2datetime(
1030
1030
  input_str,
1031
- input_str_format: str = 'YYmmdd',
1031
+ input_str_format: str = 'YYYYmmdd',
1032
1032
  output_str_format: str = '%Y-%m-%d %H:%M:%S.%f',
1033
1033
  ):
1034
1034
  """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lazysdk
3
- Version: 0.1.120
3
+ Version: 0.1.121
4
4
  Summary: 基于Python的懒人包
5
5
  Home-page: https://gitee.com/ZeroSeeker/lazysdk
6
6
  Author: ZeroSeeker
@@ -12,11 +12,12 @@ lazysdk/lazyenv.py,sha256=P6HjO9cbBPzHD_Vs-Ww_GThDq-h9Wn31VSiu9OzTNWI,3024
12
12
  lazysdk/lazyexcel.py,sha256=MOBDmDkhkMOzVQqwtyWhnlrZG1pOEOmU1usOe_L3MuU,17197
13
13
  lazysdk/lazyfile.py,sha256=5p7yPWRLTqvToDUzQAEZ8uGfz-x-zSsM5ZHeT97ZpWo,20268
14
14
  lazysdk/lazyflask.py,sha256=VUhJqtNz_evVyGOS40FKkkQWWrqGEUZ26cv1RQxS388,727
15
+ lazysdk/lazyhash.py,sha256=cow6_NGhnBTgf3cUU2WIEiKr-KMhCisLJFK65bXv43M,1453
15
16
  lazysdk/lazyhtml.py,sha256=dWexQvyApvm1xDzGT_nzke2hSyJWSmHfq74z5FWmunU,2537
16
17
  lazysdk/lazyid.py,sha256=8yuf3ADHCiujIsGJ6YzU1LHFMX7679nmdRrGSlZPQ5o,1388
17
18
  lazysdk/lazyinfo.py,sha256=c9BsyxMygpcpQ7mpurz3JShyhVhu75XZai9Ezk4dFHc,3673
18
19
  lazysdk/lazyip.py,sha256=8GkSlBys-IEqHGM7Oe5NsHIzYjUWn5Ltmf1EOM5TRaI,1440
19
- lazysdk/lazyjson.py,sha256=5clxmOJDlkKbuovgB1jIPGCJwhLqM-SHHtrxmbCJe_4,867
20
+ lazysdk/lazyjson.py,sha256=wZdMCwShRfZonvrKORZi6xOTfUhRPCGoDfysNsS1Acg,1733
20
21
  lazysdk/lazylist.py,sha256=OcfdzKIRvb7dV2xNpNHrGGrLJ5u1e6yA2UhQyXi6Wao,1339
21
22
  lazysdk/lazym3u8.py,sha256=NrwEBpivhAxpW6KhKl7YowFBKGMpPxiKrcafgw7n8wY,31937
22
23
  lazysdk/lazymd5.py,sha256=JSKIcUmH2zwPDDJAd9XajTYd59eKidoKAkLLNU8OHM4,1112
@@ -28,15 +29,15 @@ lazysdk/lazyre.py,sha256=UQNpf9P1GyxRoRfuulyY4D1nnF227R4bzUGT3LevE7w,956
28
29
  lazysdk/lazyredis.py,sha256=78jM_tXNgUKULcp08CQEHmfAlzwlWuOsl6SuLwoLDdM,37918
29
30
  lazysdk/lazyrequests.py,sha256=kNtHmg-M39selgsOtdGb-6KHfAz80BE3IwdcTdrJth4,4065
30
31
  lazysdk/lazytext.py,sha256=1UgwxLt3c6i0JwUGRC7srSc_mhM3ICv1WrhOqkuIrLk,2672
31
- lazysdk/lazytime.py,sha256=yKMgvJrbuMWOSQubYaEDAOvHZ8mNQqcYAw30Mz4yAGA,29432
32
+ lazysdk/lazytime.py,sha256=r8oWbvhsKk4cK37Kykb6RcZ4fb9Uk3AONR8IQPUSosk,29434
32
33
  lazysdk/lazyua.py,sha256=IqLmqGDECdJa3Wcr8h6sTxMErJZlCTM3Jk7IWm90UzI,4827
33
34
  lazysdk/lazyurl.py,sha256=N89QLK2A6vXr9gqp-9vnk9RXv_fOjw171lVl9eEoxtE,1550
34
35
  lazysdk/lazywebhook.py,sha256=NTfcVY2p3U2qSbZ7sspSj2hloBr-22zmGSEirJG2jW0,10708
35
36
  lazysdk/lazywifi.py,sha256=FOvLPTcb6BQE6D8kjfB0TLpfgGxw8jqC3vZbTs6LbD4,716
36
37
  lazysdk/lazyxml.py,sha256=PLAcDWjpu2GMJPsV9dHOv716CVmflQee7Aan-hqGxL8,770
37
38
  lazysdk/showdata.py,sha256=957JMXq7qfJ4ELpA3nBJwkyEUn6mRwtVXVBGYfZaCgg,1683
38
- lazysdk-0.1.120.dist-info/LICENSE,sha256=OC5E4ENUG6B4dGEVGwUpdsD-D9SZsCVC92NAgaqvE-c,1088
39
- lazysdk-0.1.120.dist-info/METADATA,sha256=yS1q-qZX7Bskfg2ZLSkSp1R4PIwB1jHUgfiILaqBRi8,1901
40
- lazysdk-0.1.120.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
41
- lazysdk-0.1.120.dist-info/top_level.txt,sha256=--bGS42ZHUhVeO83y1wfvKFg6OjkTLxQ4V4riqPQljY,8
42
- lazysdk-0.1.120.dist-info/RECORD,,
39
+ lazysdk-0.1.121.dist-info/LICENSE,sha256=OC5E4ENUG6B4dGEVGwUpdsD-D9SZsCVC92NAgaqvE-c,1088
40
+ lazysdk-0.1.121.dist-info/METADATA,sha256=-scyfazhhPvlLuPP7IzLdsK1kFNQ8k1v1zFLRcNhlLs,1901
41
+ lazysdk-0.1.121.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
42
+ lazysdk-0.1.121.dist-info/top_level.txt,sha256=--bGS42ZHUhVeO83y1wfvKFg6OjkTLxQ4V4riqPQljY,8
43
+ lazysdk-0.1.121.dist-info/RECORD,,