forked from zhuhongtao666/SHU-selfreport
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathfState.py
39 lines (30 loc) · 7.87 KB
/
fState.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import base64
import json
class F_STATE_GENERATOR:
def __init__(self):
self.F_STATE_template = 'eyJwMV9CYW9TUlEiOnsiVGV4dCI6IjIwMjAtMTEtMjYifSwicDFfRGFuZ1FTVFpLIjp7IkZfSXRlbXMiOltbIuiJr+WlvSIsIuiJr+WlvSIsMV0sWyLkuI3pgIIiLCLkuI3pgIIiLDFdXSwiU2VsZWN0ZWRWYWx1ZSI6IuiJr+WlvSJ9LCJwMV9aaGVuZ1podWFuZyI6eyJIaWRkZW4iOnRydWUsIkZfSXRlbXMiOltbIuaEn+WGkiIsIuaEn+WGkiIsMV0sWyLlkrPll70iLCLlkrPll70iLDFdLFsi5Y+R54OtIiwi5Y+R54OtIiwxXV0sIlNlbGVjdGVkVmFsdWVBcnJheSI6W119LCJwMV9UaVdlbiI6eyJUZXh0IjoiMzcuMCJ9LCJwMV9aYWlYaWFvIjp7IlNlbGVjdGVkVmFsdWUiOiLlrp3lsbEiLCJGX0l0ZW1zIjpbWyLkuI3lnKjmoKEiLCLkuI3lnKjmoKEiLDFdLFsi5a6d5bGxIiwi5a6d5bGx5qCh5Yy6IiwxXSxbIuW7tumVvyIsIuW7tumVv+agoeWMuiIsMV0sWyLlmInlrpoiLCLlmInlrprmoKHljLoiLDFdLFsi5paw6Ze46LevIiwi5paw6Ze46Lev5qCh5Yy6IiwxXV19LCJwMV9kZGxTaGVuZyI6eyJGX0l0ZW1zIjpbWyItMSIsIumAieaLqeecgeS7vSIsMSwiIiwiIl0sWyLljJfkuqwiLCLljJfkuqwiLDEsIiIsIiJdLFsi5aSp5rSlIiwi5aSp5rSlIiwxLCIiLCIiXSxbIuS4iua1tyIsIuS4iua1tyIsMSwiIiwiIl0sWyLph43luoYiLCLph43luoYiLDEsIiIsIiJdLFsi5rKz5YyXIiwi5rKz5YyXIiwxLCIiLCIiXSxbIuWxseilvyIsIuWxseilvyIsMSwiIiwiIl0sWyLovr3lroEiLCLovr3lroEiLDEsIiIsIiJdLFsi5ZCJ5p6XIiwi5ZCJ5p6XIiwxLCIiLCIiXSxbIum7kem+meaxnyIsIum7kem+meaxnyIsMSwiIiwiIl0sWyLmsZ/oi48iLCLmsZ/oi48iLDEsIiIsIiJdLFsi5rWZ5rGfIiwi5rWZ5rGfIiwxLCIiLCIiXSxbIuWuieW+vSIsIuWuieW+vSIsMSwiIiwiIl0sWyLnpo/lu7oiLCLnpo/lu7oiLDEsIiIsIiJdLFsi5rGf6KW/Iiwi5rGf6KW/IiwxLCIiLCIiXSxbIuWxseS4nCIsIuWxseS4nCIsMSwiIiwiIl0sWyLmsrPljZciLCLmsrPljZciLDEsIiIsIiJdLFsi5rmW5YyXIiwi5rmW5YyXIiwxLCIiLCIiXSxbIua5luWNlyIsIua5luWNlyIsMSwiIiwiIl0sWyLlub/kuJwiLCLlub/kuJwiLDEsIiIsIiJdLFsi5rW35Y2XIiwi5rW35Y2XIiwxLCIiLCIiXSxbIuWbm+W3nSIsIuWbm+W3nSIsMSwiIiwiIl0sWyLotLXlt54iLCLotLXlt54iLDEsIiIsIiJdLFsi5LqR5Y2XIiwi5LqR5Y2XIiwxLCIiLCIiXSxbIumZleilvyIsIumZleilvyIsMSwiIiwiIl0sWyLnlJjogoMiLCLnlJjogoMiLDEsIiIsIiJdLFsi6Z2S5rW3Iiwi6Z2S5rW3IiwxLCIiLCIiXSxbIuWGheiSmeWPpCIsIuWGheiSmeWPpCIsMSwiIiwiIl0sWyLlub/opb8iLCLlub/opb8iLDEsIiIsIiJdLFsi6KW/6JePIiwi6KW/6JePIiwxLCIiLCIiXSxbIuWugeWkjyIsIuWugeWkjyIsMSwiIiwiIl0sWyLmlrDnloYiLCLmlrDnloYiLDEsIiIsIiJdLFsi6aaZ5rivIiwi6aaZ5rivIiwxLCIiLCIiXSxbIua+s+mXqCIsIua+s+mXqCIsMSwiIiwiIl0sWyLlj7Dmub4iLCLlj7Dmub4iLDEsIiIsIiJdXSwiU2VsZWN0ZWRWYWx1ZUFycmF5IjpbIuS4iua1tyJdfSwicDFfZGRsU2hpIjp7IkVuYWJsZWQiOnRydWUsIkZfSXRlbXMiOltbIi0xIiwi6YCJ5oup5biCIiwxLCIiLCIiXSxbIuS4iua1t+W4giIsIuS4iua1t+W4giIsMSwiIiwiIl1dLCJTZWxlY3RlZFZhbHVlQXJyYXkiOlsi5LiK5rW35biCIl19LCJwMV9kZGxYaWFuIjp7IkVuYWJsZWQiOnRydWUsIkZfSXRlbXMiOltbIi0xIiwi6YCJ5oup5Y6/5Yy6IiwxLCIiLCIiXSxbIum7hOa1puWMuiIsIum7hOa1puWMuiIsMSwiIiwiIl0sWyLljaLmub7ljLoiLCLljaLmub7ljLoiLDEsIiIsIiJdLFsi5b6Q5rGH5Yy6Iiwi5b6Q5rGH5Yy6IiwxLCIiLCIiXSxbIumVv+WugeWMuiIsIumVv+WugeWMuiIsMSwiIiwiIl0sWyLpnZnlronljLoiLCLpnZnlronljLoiLDEsIiIsIiJdLFsi5pmu6ZmA5Yy6Iiwi5pmu6ZmA5Yy6IiwxLCIiLCIiXSxbIuiZueWPo+WMuiIsIuiZueWPo+WMuiIsMSwiIiwiIl0sWyLmnajmtabljLoiLCLmnajmtabljLoiLDEsIiIsIiJdLFsi5a6d5bGx5Yy6Iiwi5a6d5bGx5Yy6IiwxLCIiLCIiXSxbIumXteihjOWMuiIsIumXteihjOWMuiIsMSwiIiwiIl0sWyLlmInlrprljLoiLCLlmInlrprljLoiLDEsIiIsIiJdLFsi5p2+5rGf5Yy6Iiwi5p2+5rGf5Yy6IiwxLCIiLCIiXSxbIumHkeWxseWMuiIsIumHkeWxseWMuiIsMSwiIiwiIl0sWyLpnZLmtabljLoiLCLpnZLmtabljLoiLDEsIiIsIiJdLFsi5aWJ6LSk5Yy6Iiwi5aWJ6LSk5Yy6IiwxLCIiLCIiXSxbIua1puS4nOaWsOWMuiIsIua1puS4nOaWsOWMuiIsMSwiIiwiIl0sWyLltIfmmI7ljLoiLCLltIfmmI7ljLoiLDEsIiIsIiJdXSwiU2VsZWN0ZWRWYWx1ZUFycmF5IjpbIuWuneWxseWMuiJdfSwicDFfRmVuZ1hEUURMIjp7IlNlbGVjdGVkVmFsdWUiOiLlkKYiLCJGX0l0ZW1zIjpbWyLmmK8iLCLmmK8iLDFdLFsi5ZCmIiwi5ZCmIiwxXV19LCJwMV9Ub25nWldETEgiOnsiU2VsZWN0ZWRWYWx1ZSI6IuWQpiIsIkZfSXRlbXMiOltbIuaYryIsIuaYryIsMV0sWyLlkKYiLCLlkKYiLDFdXX0sInAxX1hpYW5nWERaIjp7IlRleHQiOiLkuIrmtbflpKflraYifSwicDFfUXVlWkhaSkMiOnsiRl9JdGVtcyI6W1si5pivIiwi5pivIiwxLCIiLCIiXSxbIuWQpiIsIuWQpiIsMSwiIiwiIl1dLCJTZWxlY3RlZFZhbHVlQXJyYXkiOlsi5ZCmIl19LCJwMV9EYW5nUkdMIjp7IlNlbGVjdGVkVmFsdWUiOiLlkKYiLCJGX0l0ZW1zIjpbWyLmmK8iLCLmmK8iLDFdLFsi5ZCmIiwi5ZCmIiwxXV19LCJwMV9HZUxTTSI6eyJIaWRkZW4iOnRydWUsIklGcmFtZUF0dHJpYnV0ZXMiOnt9fSwicDFfR2VMRlMiOnsiUmVxdWlyZWQiOmZhbHNlLCJIaWRkZW4iOnRydWUsIkZfSXRlbXMiOltbIuWxheWutumalOemuyIsIuWxheWutumalOemuyIsMV0sWyLpm4bkuK3pmpTnprsiLCLpm4bkuK3pmpTnprsiLDFdXSwiU2VsZWN0ZWRWYWx1ZSI6bnVsbH0sInAxX0dlTERaIjp7IkhpZGRlbiI6dHJ1ZX0sInAxX0NlbmdGV0giOnsiTGFiZWwiOiIyMDIw5bm0OeaciDI35pel5ZCO5piv5ZCm5Zyo5Lit6auY6aOO6Zmp5Zyw5Yy66YCX55WZ6L+HPHNwYW4gc3R5bGU9J2NvbG9yOnJlZDsnPu+8iOWkqea0peS4nOeWhua4r+WMuueesOa1t+i9qeWwj+WMuuOAgea1puS4nOWRqOa1pumVh+aYjuWkqeWNjuWfjuWwj+WMuuOAgea1puS4nOelneahpemVh+aWsOeUn+Wwj+WMuuOAgea1puS4nOelneahpemVh+iIquWfjuS4g+i3rzQ1MOW8hOWwj+WMuuOAgea1puS4nOW8oOaxn+mVh+mhuuWSjOi3rzEyNuW8hOWwj+WMuuOAgeWGheiSmeWPpOa7oea0sumHjOS4nOWxseihl+mBk+WKnuS6i+WkhOOAgeWGheiSmeWPpOa7oea0sumHjOWMl+WMuuihl+mBk++8iTwvc3Bhbj4iLCJGX0l0ZW1zIjpbWyLmmK8iLCLmmK8iLDFdLFsi5ZCmIiwi5ZCmIiwxXV0sIlNlbGVjdGVkVmFsdWUiOiLlkKYifSwicDFfQ2VuZ0ZXSF9SaVFpIjp7IkhpZGRlbiI6dHJ1ZX0sInAxX0NlbmdGV0hfQmVpWmh1Ijp7IkhpZGRlbiI6dHJ1ZX0sInAxX0ppZUNodSI6eyJMYWJlbCI6IjEx5pyIMTLml6Xoh7MxMeaciDI25pel5piv5ZCm5LiO5p2l6Ieq5Lit6auY6aOO6Zmp5Zyw5Yy65Y+R54Ot5Lq65ZGY5a+G5YiH5o6l6KemPHNwYW4gc3R5bGU9J2NvbG9yOnJlZDsnPu+8iOWkqea0peS4nOeWhua4r+WMuueesOa1t+i9qeWwj+WMuuOAgea1puS4nOWRqOa1pumVh+aYjuWkqeWNjuWfjuWwj+WMuuOAgea1puS4nOelneahpemVh+aWsOeUn+Wwj+WMuuOAgea1puS4nOelneahpemVh+iIquWfjuS4g+i3rzQ1MOW8hOWwj+WMuuOAgea1puS4nOW8oOaxn+mVh+mhuuWSjOi3rzEyNuW8hOWwj+WMuuOAgeWGheiSmeWPpOa7oea0sumHjOS4nOWxseihl+mBk+WKnuS6i+WkhOOAgeWGheiSmeWPpOa7oea0sumHjOWMl+WMuuihl+mBk++8iTwvc3Bhbj4iLCJTZWxlY3RlZFZhbHVlIjoi5ZCmIiwiRl9JdGVtcyI6W1si5pivIiwi5pivIiwxXSxbIuWQpiIsIuWQpiIsMV1dfSwicDFfSmllQ2h1X1JpUWkiOnsiSGlkZGVuIjp0cnVlfSwicDFfSmllQ2h1X0JlaVpodSI6eyJIaWRkZW4iOnRydWV9LCJwMV9UdUpXSCI6eyJMYWJlbCI6IjEx5pyIMTLml6Xoh7MxMeaciDI25pel5piv5ZCm5LmY5Z2Q5YWs5YWx5Lqk6YCa6YCU5b6E5Lit6auY6aOO6Zmp5Zyw5Yy6PHNwYW4gc3R5bGU9J2NvbG9yOnJlZDsnPu+8iOWkqea0peS4nOeWhua4r+WMuueesOa1t+i9qeWwj+WMuuOAgea1puS4nOWRqOa1pumVh+aYjuWkqeWNjuWfjuWwj+WMuuOAgea1puS4nOelneahpemVh+aWsOeUn+Wwj+WMuuOAgea1puS4nOelneahpemVh+iIquWfjuS4g+i3rzQ1MOW8hOWwj+WMuuOAgea1puS4nOW8oOaxn+mVh+mhuuWSjOi3rzEyNuW8hOWwj+WMuuOAgeWGheiSmeWPpOa7oea0sumHjOS4nOWxseihl+mBk+WKnuS6i+WkhOOAgeWGheiSmeWPpOa7oea0sumHjOWMl+WMuuihl+mBk++8iTwvc3Bhbj4iLCJTZWxlY3RlZFZhbHVlIjoi5ZCmIiwiRl9JdGVtcyI6W1si5pivIiwi5pivIiwxXSxbIuWQpiIsIuWQpiIsMV1dfSwicDFfVHVKV0hfUmlRaSI6eyJIaWRkZW4iOnRydWV9LCJwMV9UdUpXSF9CZWlaaHUiOnsiSGlkZGVuIjp0cnVlfSwicDFfSmlhUmVuIjp7IkxhYmVsIjoiMTHmnIgxMuaXpeiHszEx5pyIMjbml6XlrrbkurrmmK/lkKbmnInlj5Hng63nrYnnl4fnirYifSwicDFfSmlhUmVuX0JlaVpodSI6eyJIaWRkZW4iOnRydWV9LCJwMV9TdWlTTSI6eyJTZWxlY3RlZFZhbHVlIjoi57u/6ImyIiwiRl9JdGVtcyI6W1si57qi6ImyIiwi57qi6ImyIiwxXSxbIum7hOiJsiIsIum7hOiJsiIsMV0sWyLnu7/oibIiLCLnu7/oibIiLDFdXX0sInAxX0x2TWExNERheXMiOnsiU2VsZWN0ZWRWYWx1ZSI6IuaYryIsIkZfSXRlbXMiOltbIuaYryIsIuaYryIsMV0sWyLlkKYiLCLlkKYiLDFdXX0sInAxIjp7IlRpdGxlIjoi5q+P5pel5Lik5oql77yI5LiK5Y2I77yJIiwiSUZyYW1lQXR0cmlidXRlcyI6e319fQ=='
def _decode_base64(self, data):
missing_padding = 4 - len(data) % 4
if missing_padding:
data += '=' * missing_padding
return str(base64.b64decode(data), encoding='utf-8')
def _encode_base64(self, data):
bytes_data = data.encode("utf-8")
return (base64.b64encode(bytes_data)).decode()
def updated_F_STATE(self, t, ZAIXIAO, XIAN, ii):
p1_Title = ["每日两报(上午)", "每日两报(下午)"][int(ii)-1]
F_STATE_read = self._decode_base64(self.F_STATE_template)
F_STATE_dict = json.loads(F_STATE_read)
F_STATE_dict.get('p1_BaoSRQ').update({'Text': t.strftime('%Y-%m-%d')})
F_STATE_dict.get('p1_ZaiXiao').update({'SelectedValue': ZAIXIAO})
F_STATE_dict.get('p1_ddlXian').update({'SelectedValueArray': [XIAN]})
F_STATE_dict.get('p1').update({'Title': p1_Title})
updated_F_STATE_str = json.dumps(F_STATE_dict, ensure_ascii=False, separators=(',', ':'))
return self._encode_base64(updated_F_STATE_str)
if __name__ == '__main__':
import datetime as dt
t = dt.datetime.utcnow()
t = t + dt.timedelta(hours=8)
ZAIXIAO = "延长" # 宝山、嘉定或延长
XIAN = "静安区" # 宝山区、嘉定区或静安区
F_STATE_GENERATOR().updated_F_STATE(t, ZAIXIAO, XIAN, ii=int('1'))