@@ -89,38 +89,44 @@ def __init__(self, cw_contexts, method): # 初始化
89
89
90
90
def load_data_from_json (self , file_path ):
91
91
try :
92
- with open (file_path , 'r' ) as file :
93
- self .data_dict = json .load (file , ensure_ascii = False ). encode ( 'gbk' )
92
+ with open (file_path , 'r' , encoding = 'utf-8' ) as file :
93
+ self .data_dict = json .load (file )
94
94
return self .data_dict ['start_date' ], self .data_dict ['data' ]
95
95
except (FileNotFoundError ):
96
96
logger .error ("未找到 duty.json 文件,请先设置duty.json!" )
97
97
98
98
def get_current_day_index (self , start_date_str ):
99
99
self .start_date = datetime .strptime (start_date_str , '%Y-%m-%d' )
100
100
self .current_date = datetime .now ()
101
- self .delta_days = (self .current_date - self .start_date ).days
102
- return self .delta_days % len (self .data_dict ['data' ])
101
+ if self .current_date .weekday () == 5 or self .current_date .weekday () == 6 :
102
+ self .delta_days = None
103
+ return self .delta_days
104
+ else :
105
+ self .delta_days = (self .current_date - self .start_date ).days
106
+ return self .delta_days % len (self .data_dict ['data' ])
103
107
104
108
def update_duty_info (self , ):
105
109
self .duty = self .load_data_from_json (self .json_file_path )
106
110
self .start_date_str = self .data_dict ['start_date' ]
107
111
self .current_day_index = self .get_current_day_index (self .start_date_str )
108
112
data = self .data_dict ['data' ]
109
- self .today_duty_list = data [ self . current_day_index ]
110
- self .today_duty_list2 = [ ]
111
-
112
- for i in self . today_duty_list :
113
- self .today_duty_list2 . append ( i )
114
-
115
- self .duty_1 = self .today_duty_list2 [0 ]
116
- self .duty_2 = self .today_duty_list2 [1 ]
117
- self .duty_3 = self .today_duty_list2 [2 ]
118
- self .duty_4 = self .today_duty_list2 [3 ]
119
- self .duty_names = f"""{ self .duty_1 }
113
+ if self .current_day_index != None :
114
+ self .today_duty_list = data [ self . current_day_index ]
115
+ self . today_duty_list2 = []
116
+
117
+ for i in self .today_duty_list :
118
+ self . today_duty_list2 . append ( i )
119
+ self .duty_1 = self .today_duty_list2 [0 ]
120
+ self .duty_2 = self .today_duty_list2 [1 ]
121
+ self .duty_3 = self .today_duty_list2 [2 ]
122
+ self .duty_4 = self .today_duty_list2 [3 ]
123
+ self .duty_names = f"""{ self .duty_1 }
120
124
{ self .duty_2 }
121
125
{ self .duty_3 }
122
126
{ self .duty_4 } """
123
- self .update_widget_content (self .duty_names )
127
+ self .update_widget_content (self .duty_names )
128
+ else :self .duty_names = "无值日生"
129
+
124
130
125
131
def update_widget_content (self , duty_names ):
126
132
"""更新小组件内容"""
@@ -222,4 +228,4 @@ def __init__(self, plugin_path, parent=None): # 初始化
222
228
"""
223
229
在这里写设置页面
224
230
"""
225
- # 其他代码……
231
+ # 其他代码……
0 commit comments