internal 1.0.102__py3-none-any.whl → 1.0.104__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 internal might be problematic. Click here for more details.

@@ -19,11 +19,15 @@ class EventCodeEnum(str, Enum):
19
19
  BOOKING_REMINDING_SERVICE_TICKET = "booking_reminding_service_ticket"
20
20
  TODAY_REPAIR_WORKING_SERVICE_TICKET_AUTO_CLOSED = "today_repair_working_service_ticket_auto_closed"
21
21
 
22
- LPNR_IN_ESTABLISHED = "lpnr_in_established"
23
- LPNR_IN_RECEPTION = "lpnr_in_reception"
24
- LPNR_IN_WORKING = "lpnr_in_working"
25
- LPNR_OUT = "lpnr_out"
26
- LPNR_OUT_GENERAL = "lpnr_out_general"
27
- LPNR_OUT_NO_SERVE = "lpnr_out_no_serve"
28
- LPNR_IN_POSITION = "lpnr_in_position"
29
- LPNR_OUT_POSITION = "lpnr_out_position"
22
+ CAR_IN_ESTABLISHED = "car_in_established"
23
+ CAR_IN_RECEPTION = "car_in_reception"
24
+ CAR_IN_WORKING = "car_in_working"
25
+ CAR_IN_NO_TICKET = "car_in_no_ticket"
26
+ CAR_OUT_FINISHED = "car_out_finished"
27
+ CAR_OUT_GENERAL = "car_out_general"
28
+ CAR_OUT_NO_SERVE = "car_out_no_serve"
29
+ CAR_OUT_TEST = "car_out_test"
30
+ CAR_OUT_ACC = "car_out_acc"
31
+
32
+ LPR_CHANGE_STATE = "lpr_change_state"
33
+ LPR_CHANGE_POSITION = "lpr_change_position"
internal/utils.py CHANGED
@@ -58,21 +58,30 @@ def get_current_utc() -> datetime:
58
58
  def get_lpr_data_list_redis_key(organization_id, plate_no):
59
59
  return f"{REDIS_LPR_DATA_LIST_PREFIX}_{organization_id}_{plate_no}"
60
60
 
61
- async def mask_name(input_string: str, start_index: int = 1, mask_char: str = "o"):
61
+
62
+ async def mask_name(input_string: str, start_index: int = 1, end_index: int = None, mask_char: str = "o"):
62
63
  """
63
64
  将姓名的前 start_index 个字符保留,其余字符替换为 'o',用于隐码处理。
64
65
 
66
+ :param mask_char: 隱碼替換字符
65
67
  :param input_string: 要隐码的姓名字符串
66
68
  :param start_index: 从第几位开始进行隐码处理(默认值为 1)
69
+ :param end_index: 从第几位結束进行隐码处理(默认值为 None)
67
70
  :return: 隐码处理后的字符串
68
71
  """
69
72
  if not input_string:
70
- return ""
73
+ return None
74
+
75
+ if end_index is None or end_index > len(input_string):
76
+ end_index = len(input_string)
71
77
 
72
78
  # 保留前 start_index 个字符
73
- visible_part = input_string[:start_index]
79
+ visible_part_start = input_string[:start_index]
80
+
81
+ # 保留从 end_index 之后的字符
82
+ visible_part_end = input_string[end_index:]
74
83
 
75
- # 创建隐码部分,其余字符替换为 'o'
76
- masked_part = mask_char * (len(input_string) - start_index)
84
+ # 创建隐码部分,其余字符替换为 mask_char
85
+ masked_part = mask_char * (end_index - start_index)
77
86
 
78
- return visible_part + masked_part
87
+ return visible_part_start + masked_part + visible_part_end
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: internal
3
- Version: 1.0.102
3
+ Version: 1.0.104
4
4
  Summary:
5
5
  Author: Ray
6
6
  Author-email: ray@cruisys.com
@@ -6,7 +6,7 @@ internal/common_enum/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
6
6
  internal/common_enum/contact_type.py,sha256=7QkTQ71UxpaT1YHI40FpjmLz3r-UbRU-sd0m5ajH1as,142
7
7
  internal/common_enum/description_type.py,sha256=kGwkFQh6dMnjDl6ipWYpA-qbNRrhEpnPq3NleTsNwwk,118
8
8
  internal/common_enum/device_code.py,sha256=lDTqRmP8zl6-k62HCsRehNAKCTXxH6WltZnvijy8Ijc,223
9
- internal/common_enum/event_code.py,sha256=eDHQU-Bf5cIATCQYspX18BXsZhdw-RLf8GKeSH9OE4k,1678
9
+ internal/common_enum/event_code.py,sha256=xaUElppf0NKpCJHMHciygaMyVMsVUUtdJJGKabUrFfg,1796
10
10
  internal/common_enum/event_trigger_type.py,sha256=CUfsYd0qNRu52kiLPBugmDBI-v7L5HmSC2gyx5KETc8,1790
11
11
  internal/common_enum/feature.py,sha256=x7cm0JMSS0DzbBw6Q9yBFxHY8d2XrCGuEzSoAj8Gd4k,96
12
12
  internal/common_enum/lpr_direction.py,sha256=glCGSkcXHUB6_p2jO_7IdEHycyFVhu0vHDDDXbFJ174,113
@@ -33,8 +33,8 @@ internal/middleware/log_request.py,sha256=bXAxmvvsYDhObXzfUw4ZNreKAWOo8ee_vpb6Xi
33
33
  internal/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
34
  internal/model/base_model.py,sha256=NWjysNOp2MfXvAHGFqaQA_l8ZfTFvJbXQPUPuOXN_2g,5361
35
35
  internal/model/operate.py,sha256=QSM6yXYXpJMwrqkUGEWZLrEBaUgqHwVHY_Fi4S42hKc,3190
36
- internal/utils.py,sha256=YDALmqhrZWIxOWaL8DeXhEJkn9hFfjh8gOdPcHTyQ5o,2455
36
+ internal/utils.py,sha256=i6YZdiXsiWnOjRdlJ6afNCGpyMe3Uo9mhm3xlQBy3Ls,2824
37
37
  internal/validator_utils.py,sha256=5ZLcNIgw1hvkYOj1f6gS9AYxe7Y3ufW9FyDxUS7FsMQ,1226
38
- internal-1.0.102.dist-info/METADATA,sha256=CSAex7WqRmePll76Lig5IhkgrYBXlaGbgUhKSLDh9gM,757
39
- internal-1.0.102.dist-info/WHEEL,sha256=RaoafKOydTQ7I_I3JTrPCg6kUmTgtm4BornzOqyEfJ8,88
40
- internal-1.0.102.dist-info/RECORD,,
38
+ internal-1.0.104.dist-info/METADATA,sha256=dy1m4H4x-h7jQ027XxqVvc2-kAjdB7jW-DILTz9NHPw,757
39
+ internal-1.0.104.dist-info/WHEEL,sha256=RaoafKOydTQ7I_I3JTrPCg6kUmTgtm4BornzOqyEfJ8,88
40
+ internal-1.0.104.dist-info/RECORD,,