From 38d98dee947ce3ad5bac5e8a3d04483f5cbdd16f Mon Sep 17 00:00:00 2001 From: Julian Freeman Date: Thu, 1 Feb 2024 18:12:45 -0400 Subject: [PATCH] dev 02011812 --- README.md | 2 + daily_check.qrc | 2 +- daily_check_rc.py | 531 +++++++++++++++++--------------------- dailycheck.icns | Bin 0 -> 74761 bytes dailycheck.ico | Bin 0 -> 176804 bytes global_vars.py | 8 + images/dailycheck_128.png | Bin 0 -> 3692 bytes images/none_128.png | Bin 4482 -> 0 bytes main.py | 34 +-- mw_dailycheck.py | 101 ++++++++ util_func.py | 16 +- wg_basic.py | 35 ++- wg_extensions.py | 121 +++++---- wg_software.py | 92 +++++-- 14 files changed, 536 insertions(+), 406 deletions(-) create mode 100644 README.md create mode 100644 dailycheck.icns create mode 100644 dailycheck.ico create mode 100644 images/dailycheck_128.png delete mode 100644 images/none_128.png create mode 100644 mw_dailycheck.py diff --git a/README.md b/README.md new file mode 100644 index 0000000..1161174 --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +# DailyCheck 日常检查工具 + diff --git a/daily_check.qrc b/daily_check.qrc index a6a1fa7..6597bc7 100644 --- a/daily_check.qrc +++ b/daily_check.qrc @@ -1,9 +1,9 @@ - images/none_128.png images/blank_128.png images/browsers/chrome_32.png images/browsers/edge_32.png images/browsers/brave_32.png + images/dailycheck_128.png diff --git a/daily_check_rc.py b/daily_check_rc.py index 5249d0b..43a6112 100644 --- a/daily_check_rc.py +++ b/daily_check_rc.py @@ -36,289 +36,239 @@ p\x0d\x80k\x00\x5c\x03\xe0\x1a\x00\xd7\x00\xb8\x06\xc05\ \x06\xc05\x00\xae\x01p\x0d\x80k\x00\x5c\x03\xe0\x1a\x80\ 6\xf3\x00\xedw\x03\xfd\xcd\xd11\xb4\x00\x00\x00\x00I\ END\xaeB`\x82\ -\x00\x00\x11\x82\ +\x00\x00\x0el\ \x89\ PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ -\x00\x00\x80\x00\x00\x00\x80\x08\x06\x00\x00\x00\xc3>a\xcb\ -\x00\x00\x00\x09pHYs\x00\x00^|\x00\x00^|\ -\x01\x00\xc7|\xb4\x00\x00\x00\x19tEXtSof\ -tware\x00www.inksca\ -pe.org\x9b\xee<\x1a\x00\x00\x11\x0fID\ -ATx\x9c\xed\x9d\x7fp\x5c\xd5u\xc7?\xe7I\xf2\ -\xbe]\xd9\x0d\xe0X\xde\x15\xb61\x8e\x81\x00\xa1m\x0c\ -I\x1a0\x04\x13~9\x09?Z\xb7\x04\x08N\x1b\x97\ -I\x93\xd0\xa4\x1dp;\x04\x1ahH\xe2$\xd8PJ\ -:\x19\x06&\x93\x940\x86\xd0P\x87\xf2\xc3.P~\ -\x19(`2L\x0a\x18\x1c\x036\xd8\xd6[\xcb&6\ -\xd8\xd2>E\xbb{\xfa\xc7[\xc9\x92\xd0j\xf7\xde}\ -o\x7fh\xf73\xa3\x19k\xf5\xce=\xd7\xba_\xdd{\ -\xdf\xbd\xe7\x9e+\xaa\xca\xa4BDz]\x0eW\xe5\x98\ -\x1c\x1c.0\x17\x98\x830\x03\x98^\xf8r\x81)@\ -g\xc1\xaa\x0f\xf8=\xe0\x03\xef\x14\xbezQ\xb6)l\ -u\xe0MGx\xb5\xcbg\x0b\x93\xec\x17&\x8d\xfe\xff\ -\xd9\x9e\x90C\xdb\xe1$\x85\x13E\xf9\xb8\xc2G\x80i\ -\x11\xb9\xdb\x07\xbc\x84\xb0A\xe0\xe9A\xe1\xe9\xd9}\xda\ -\x13\x91\xaf\xaa\xd0p\x02x]$\xd6\x19\xe3T\x1c\x16\ -\xa3,\x06\x8e\xacq\x956\xa1\xac\x05\xd6\xf6\x0d\xf0\xc4\ -|\xd5\x81\x1a\xd7\xc7\x88\xc6\x10\x80HG:\xc6\x99*\ -\x5c\x80p\x1e\xca\x07j]\xa5qQ\xf6\x22\xdc+\xca\ -\xdd\xc9\x01\x1eB5[\xeb*\x95\xa2\xae\x05\xd0\x93\x90\ -\xd9\xc0\xc5\xa2\x5c\x06\xcc\xaeu}\x0cI\x0b\xfc\xbb\xa3\ -\xdc\xd6\xe5\xeb\x1b\xb5\xaeL1\xeaR\x00^B\x16\xa2\ -|\x03\xf83\xa0\xad\xd6\xf5\xa9\x10\x05\xfeG\x95\x9b\xbb\ -}\xbd\xaf\xd6\x95\x19K\xfd\x08@Dzb\x9c#p\ --\xc2\x82ZW'\x22^P\xe5\xbaz\x12B]\x08\ -\xa0\xc7\x953D\xf8\x1e\xf0\xb1Z\xd7\xa5J<\xafp\ -uwF\x1f\xa9uEj*\x80m\x9d\xd2\xdd\x9e\xe7\ -\x07\xc0\xd2\x9aU\xa2\x86\xa8p\xbf\xc0e\xa9~}\xbb\ -Vu\xa8\x8d\x00D\xda\xbd\x18\x97!|\x87\xe8\xde\xd9\ -\x1b\x85~\x85\x95{}V\x1c\xa3\xfa\xfbj;\xaf\xba\ -\x00\xbc\xb8\x9c\x02\xfc\x188\xb6\xaa\x8e\xeb\x1d\xe1%\xe0\ -k\xa9~}\xaa\x9an\x9d\xaay\x12i\xef\x89\xcb?\ -\x03\x8f\xd1j\xfc\xf7\xa3\x1c\x87\xf2\xa4\x97\x90\x7f}]\ -$V-\xb7U\xe9\x01z\x122[\x94;\x81\x93\x22\ -wV\x9a=\x04\xeb\xfe}\x08\xfb\x00\x07\xa5\x138\x98\ -`o`J-+\x07\x80\xf0\x1br\x5c\x94\x1a\xd0W\ -#w\x15\xb5\x00v\xba\xf2\xb9\xbc\xf03\x82M\x98j\ -\xb1\x1bx\x1exQ\xe1M\x07\xb6\x00[\x92>\xdbK\ -\xae\xce\x89tl\x8f\xd3\xd5\xae\x1c\xa9\xca\x91\xc0Q\x08\ -\x1f&\xd8c\xa8\xe6b\xd4>\x11\x96%\xfb\xf5\x97Q\ -:\x89N\x00\x22N:\xc6\xf7U\xf8\x07@\xa2q2\ -\xccn\xe0\x01\xe0\xe1\x9c\xf2\xdc,__\x8f\xc2\xc9v\ -W\xe6\xb7\x09\x8b`\xf8+\x19\x85\x9f\x11\xa8\xc0\xf5I\ -\x9f\xabP\xcdG\xe1 \x12\x01l\x14\x99r\x88\xcb\xed\ -\x0a\x9f\x0f\xbd\xf0\x03\xecP\xe5N\x11\xeeK\xf9<\x8d\ -j.B_\xe3\xe2u\xca\xf1\xe4\xb8\x04\xe1b\xa0+\ -BW\xab\xf7\xf8|)\x8a\xb7\x84\xd0\x05\xb0Kdj\ -\xd6e\x0dpz\xa8\x05\x07\xe4TXK\x9e\xdb\xba\x07\ -x\xb0n6[D\xdaw\xc68;',\x158\x9f\ -h\xe6\x11\x0f\xb5\xfb,\x99\xa1\xba?\xccBC\x15@\ -z\x9a\xcc\xd0,\x0f\x02'\x84Vh\x80/\xc2my\ -X\xd9\xdd\xaf\xdbB.;T\xbc\x84\xcc\x11X\xae\xca\ -\xa5@<\xe4\xe27H;\x9fM\xee\xd3]a\x15\x18\ -\x9a\x00\xbc\x84\xccAy\x98p\xf7\xe7}\x84[\xb3\xc2\ -\x0f\x1b-\xf0\xa2w\xaa\xcc\xccg\xb9\x5c\x85\xaf\x12\xee\ -b\xd7&\x843\xc3Z=\x0cE\x00\x85\xbf\xfc\xa7\x08\ -\xb3\xf1\x95{p\xb8\xbc\x96\xcb\xa4a\xd0;Uf\xe6\ -r\xac\x04.!\xbc\xc9\xf0&i\xe7\xe40z\x82\x8a\ -\x05\xe0\x89$\xc4\xe5\x11\x85OVZ\x99\x02o\x88\xf2\ -\x8d\xa4\xaf\x0f\x86T^]\xe0\xc5\xe5d\x82\x15\xd0\x8f\ -\x84T\xe4\x0b\xed>\x8b*\x9d\x13T\xb4\x12\xb8Qd\ -\x0a.\xf7\x86\xd4\xf8\xaa\xca\xaa>\x9fc'[\xe3\x03\ -\xa42\xba>\xe5\xb3\x00\xe1\x9b\x04\x0bQ\x95rB\xd6\ -\xe5\x9e\x8d\x22\x15M8\xed{\x00\x11'\xed\xb2:\xa4\ -W\xbd^Q\xbe4\x19\x1b~<\xbcN9\x9e<\xbf\ -\x00>TiY\x02w%}\xbe`\xbbN`\xdd\x03\ -\xa4c|?\xa4\xc6\xdf\xee\xb4s\x5c\xb34>@\xaa\ -O\x7f=\xe0s\x02\xca\x9aJ\xcbR\xb8\xd0s\xf9\xae\ -\xad\xbd\x95\x00\xd2\xae|\xb6\xb0\xc2\x17\x06\xb3\xf2Y\xfe\ -.\xa4\xb2\x1a\x86\xb9\xaa{S\x03,A\xb8\x02\xa8t\ -\x95\xef\xca\xb4+\x8bm\x0c\x8d\x87\x80\x1d\x09\x99\xe5(\ -/\x02\x1f\xb4qX\x0cUVu\xfb\x1a\x96\xa8\x1a\x0a\ -/!\x7f\x8a\xb2\x9a\xe0\xc0\x8a-\xbf\x03\x16\xa42\xfa\ -\x96\x89\x91Y\x0f \xd2\xee\x04\xbbz\xa16~P4\ -\xcb{\x5cY\x19v\xb9\x8d@\xaa_\xd7\x08|\x06x\ -\xaf\x82b\x0eQ\xb8\x0b\x91\x0e\x13##\x01\xa4\x83\xb1\ -f\xa1Q\xb5\x0c\x10a\xb9\x17\x97\xefEU~=\x93\ -\xcc\xe8c8\x9c\x06X\xbf\xdb\x0b\xfc\x89\xe7\xf2m#\ -\x9br\x87\x80B$\xcf\xe3D\xbf\xb3\x07\xb0\x22\x95\xd1\ -\xab\xab\xe0\xa7\xee(\xbc!<\x86\xfd\xeaa\x1e\xe1S\ -\xe5F\x16\x95\xd7\x03\x88\xb4\x8b\xf0#\xaa\xd3\xf8\x00W\ -5\xedp\xd0\xa7\xbf\x168\x0f\xb0=b\xe6\xa0\xdcR\ -\xeePP\x96\x00z\xe2\x5c\xae\xca\x1fZV\xc8\x8af\ -\x9e\x13\x14\x86\x83\x0b\x01\xdb-\xeec\xbd8_/\xe7\ -\xc1\x92C@!\x9ck#0\xd5\xb22\x95\xd2\xb4\xc3\ -A:!W\xa8\xb2\xca\xd2|_N8zV\xbf\xee\ -\x98\xe8\xa1\x92=\x80\xe4\xf9\x17\xec\x1b\x7f\xbb\xa5\xddH\ -\xaej\xde\x89!7\xa2\xfc\xca\xd2|\x9a\xa3\xdcX\xea\ -\xa1\x09\x05\xd0\xe3\xca\x19\x08K,+\x90v\xda9\x1e\ -Xai?\x92\xe6\x14\x81\xaa\x0e\xba,\x03\xb6\xda\x98\ -\x0b\x5c\x90\x8e\xcb\xa2\x89\x9e\x99P\x00\x22\xd6K\x8c*\ -\xca\xa53\xf7io\xa1\xfb\xfe\x8ee9#i\xca\x89\ -\xe1\x9c\xbd\xbaG\x1c.\xc0r\x03I\xe1\x9a\x89~^\ -T\x00=\xae\x9c\x0b|\xdc\xca\xa9rC\xd2\xd7\x07\x86\ -\xbeOe\xf4\x1aB\xe8\x09\x9au\x9d \xd9\xa7\x1b\xc0\ -\xec\xfd~\x04\xa7\xf6$\xa4h8~Q\x01\x88L\xac\ -\x9c\x09\xd8\xdc?\xc0?\x8d\xfd\xb0\xd0\x13\xb4\x86\x03K\ -\xf6\xf8\xac\x02\xac\xce\x09\x88Rt\x12=\xae\x00v\xc6\ -\xe54\xe0xKg\x7f_,MJk8\xb0\xa7\x10\ -\x11\xfc\x15\x82|\x03\xa6,\xf6:e\xdc8\xcdq\x05\ -\x90\x87+,\x9c\x80rO\xa9m\xdd\xc2pP\xb1\x08\ -\x9aq\x9d \x95\xd1'\x81;\xad\x8cs\x5c9\xde\xc7\ -\xef[\x07\xe8u\xe5C9a3\xe6\xab~>\xc2Q\ -\xe5\xc6\xf0\x15\xba\xf1\xab\x0c}\x8cGS\xad\x13\xec\x9a\ -*\xc9l\x8e\xcd\x98\xbf\x9a\xe7\xdb\xe0\x88\xae\x8c\xbe9\ -\xf2\xc3\xf7\xf5\x009\xe1Rl\x96|\x85[M\x028\ -[\xc3\x81\x1d3\xf6kZ\x95[,L\x9d\x1c,\x1b\ -\xfb\xe1\xe8\x1e@\xa4\xddsy\x1bH\x19\x16\xee\xe7\x84\ -\xf9\xa5V\x9d\xc6\xc3\x8b\xcbu\xc0\xb7L\xed\xc6\xd2L\ -\xf1\x04\x85H\xe3-\x98\x9f;H\xa7|\xe6\xa0:8\ -\xf4\xc1\xa8\x1e \x1d\xe3,\xcc\x1b\x1f\x84[m\x1a\x1f\ -Zs\x02\x1b\xba\xf6\xebN\x15~ja\x9a\xf4b\x9c\ -6\xf2\x83Q\x02P\xe1\x02\x8bBs\x8a\xf5z5\xd0\ -Z'\xb0A\x94\xeb\x81\xc1\x92\x0f\x8e\xb5\x93\xd1q\x9c\ -\xc3\x02x]$\x86p\x9ei\x81*\xac\x0d\xe3\xb8V\ -k\x9d\xc0\x8cB\xe8\x97\xf1>\x81\xc2\xf9#C\xc9\x87\ -\x05\xd0\x19c\x91U\x06\xce<\xb7\x19\xdb\x14\xa151\ -4C\x95;,\xcc\x0e>\xc8\xe5\x94\xa1o\x0e\x0c\x01\ -\x0eg[\x14\xe6u\x0f\x10j8wkNP>\x85\ -\xdf\xfdNS;\xd1\x03m}@\x00j!\x00eu\ -\x14G\xb4[s\x822Q\xcd\x8ap\xb7\xb1\x9d0\x1c\ -B\xee@\x90r\x1d8\xca\xa2\xa0{\x8dm\xca\xa45\ -'(\x13\xe1\xe7\x16V\xc7\xec\x9a*I(\x08\xc0\xb1\ -\x8b\xf4}'\xe5\xf3\x8c\x85]\xd9\xb4\xe6\x04\xa5I\xf6\ -\xf3\x02\x16\xc3@6\x1f$\xecr\x00\x04N4-@\ -\xe1\xbej\xa4ei\xcd\x09J\xa0\xaa\x0aO\x18\xdb\x8d\ -\x14\x00j\x9e\xd1C\xa0jyn[s\x82\x89\x11\xe5\ -Qs\xa3 /\xb3\x83\x88`qf\xbd\x0d\xfe\xd7\xd8\ -i\x05\xb4\x86\x83\xe2\xe4\x83\xe4\x9bf\x08\xc7!\x22\xb2\ -\xd3e^\x0eL/4\xd8\x9d\xf2\xe9\xaa\xc5\x05J\xad\ -]\xc4\xf1\xf1\xe2\xb2\x1d8\xd4\xd0l\xae\xa3\xca1\x16\ -\xfe\x9e\xaf\xd5\xedY\xad\xb7\x83\xa2\xbcdl\xa1\x1c\xed\ -\xe4\xe0p\x0bg/Z\xd8\x84FK\x04\xe3 l2\ -7a\x9eS\xb8W\xcf\x085\x1f2B\xa75'\x18\ -\x8d\xe4\xcd\x05\x90\x87\xb9\x0e0\xc7\xd4\xd0\xb1\x8cS\x0f\ -\x9b\xd6\xdb\xc1\x01\xc4\xa2\x07@8\xcc)\xdc\xa8i\xca\ -\x16\x0b\x9bHh\x0d\x07\x01Y\xe1\xb7\xa66\x023\x1c\ -\xcc\xb3x\xe7\x92~(G\xbeB\xa3%\x02\xc8d\xcc\ -\xf3\x0a\x880\xddF\x00}u\x93\xa3w\x04\xcd.\x82\ -B(\xbe\xd1\xe9!U\xa6;\x08\x09C_\xfd\x86\xcf\ -W\x8d\xd6\xc4\x10\xd3\xa4\x91\x09\x075\xcel\xddg\xf8\ -|Ui\xf2\xbd\x83}\x86\xcf\xc7\x1c\x0cS\x9b\x8b\xd4\ -\xb7\x00\xa0\xa9E`%\x00#\xb4zib*\xa2)\ -E \xe6\xc7\xc6\x1cL\x8f\x1dk\xe3\xdc\xf3\xd7t\x22\ -P\xe3\xd3B\x03\x0eb|\xee\xbcV\xa9b\xach2\ -\x11t\x1a>?\xe0\x88\x1a\x8f\xe9\x0d\xd3\x03\x0c\xd1D\ -+\x86\xa6ot}\x8e\x06)FM\x88U\x9a\xa2\xbc\ -\x16L\xfau\x82 -\x9c\x91\x00D\xf8\x9dCp\xe5\ -\x9a\x11\xd3\x12\xe1\xa7\x8a\xad\x06\x93Y\x04\xbd.\xb31\ -\xcc\xfc\x9aWv;\xa8\xb9\x00:\xf2\xa1\xde\x0bTU\ -&\xab\x08\x06\xed\xb6\xf5w;\x80\xf1\x9d<\xaa\x16!\ -\xe4u\xc4d\x5c1t,\x04\xe0([\x1d\xb5\xdb\xd9\ -kh\x01\xc0\xa4\x9c\x18\xda\xf4\x00[\x9d6\x9b\xbd}\ -i|\x01\xc0\xa4\x1b\x0e\x16\x98\x1a(lqD\xd8h\ -\xe1\xec8\x0b\x9b\xbadR\x88 \x88\xec6O\xe9\xe7\ -\xb0\xd1\xe9\xf2\xd9\x82\xf9E\x05\xb3{]\xa9\xf8\xc2\xa3\ -z\xa1\xd1\xe7\x04=1\x8e\x04\x0e12R\xf6\xa62\ -ls\x0a\xd1\xbd/\x9b:\xcd\xc9\xe8L\x13\x8dN#\ -\xcf\x09D,\xfe\xfa\x85\x97QU\xa7\xf0\xcd\x06\x0b\xbf\ -\x13\xe6\xa0mD\x1a\xb8'8\xcb\xd8By\x0e\x0e\x9c\ -\x0d|\xda\xc2\xe9i\x85\xb1gR\xd1p{\x07\x22m\ -`q\xb4\xdf\x09\xda\xdc\x01\x18\x14+\x01\xcc\xf4\x12\xe6\ -3\xcfF\xa0\x91\x86\x83\xb4\xcbB\xcc\xc3\xfahs\x82\ -\x93\xdd\x0e@\xe1f\xee\xd7\x8c\xbd\xe7\xb8\xc4\xd8\xa6A\ -h\x94\xb7\x03U\xce\xb50{\xa5k\xbf\xee\x84\xd1\x19\ -B\xd6\x19\x17#\x5clzMY#Q\xf7s\x82\xe0\ -.\xa7\x0bM\xcdTY;\xf4\xef\x91\x9b\x07\xe6\x02\x80\ -\xaet\x8c3-\xec\x1a\x86z\x9e\x13xq\xceU\xe8\ -6\xb5S9\xd0\xd6\xc3\x02\xe8\x1b\xe0q\x94\xbd\xa6\x85\ -\xe5\x85/\x9a\xda4\x1au;'P\xbela\xb5\xe7\ -]\x9f\xf5C\xdf\x0c\x0b`\xbe\xea\x80M\xce\x1f\x81\xf3\ -\xbd\x84\x18\x1f/k4\xeamN\xd0\x1b\x97y\xc0\x19\ -\xa6v\x02k\x0a\xa9\xe7\x811\xfb\xc7\xa2\xfc\xc2\xa2.\ -S\x04\x96[\xd85\x1c\xf54'\xc8\xc1?bq\xf9\ -w^\xb9k\xe4\xf7\xefK\x16\x9dvy\xcbb\x5c\xf1\ -;\x1c\xe6}\xb0O=\xd3\x0a5\x22\xb5Np]\xb8\ -\xcao3\x1034\xf5\x0a\xc9\xa2\x87Ov\x8dV\x90\ -jV\xe1v\xd3\x0a\x01n6\xdfuh\xbfV5\x99d=\x10\ -\xc5+\xa2\xe7\xcaY\x08k\xb1;\x98\xfbL*\xa3E\ -o\x0e\x9dP\x00=q9]\xe0a\x0b\xa7\x00[\x07\ -c,\x98\xb3W\xf7X\xda7,a\x0e\x07mm\xdc\ -\x9c\xcb\xf1\x1b`\xa6M\x01\x02\x8b\x92\x19}\xbc\xe8\xcf\ -K\xe5{\xf4\xe2r7\xf0\x176\xceQ\xd6\xa4\x06X\ -R\xab\xa4\x92\xb5$D\x11l\x07f\xd9\x18\x0a\xdc\x95\ -\xcc\xe8E\x13>S\xaamv$d\x96\xa3l\xc4\xf6\ -P\xa8pE\xaa_K\xdec?\x19\x09Q\x046\xbc\ -\x97u8\xba\x10\xebQ\x94\x92k\xc9\x87\xf6\xebv\x11\ -\xeb\x09!(\xab\xbc\xb8,\xb5\xb6o`B\x5c'0\ -G\xb8\xb6T\xe3C\x19=@\xf0\x94\xb4{q^@\ -\xf9#\xcb\xea\x0c\xa2\x9c\x93\xf2\xf5\xbf-\xed\x1b\x9a\xb0\ -&\x86\x06\xbc\x9c\xf2YP\xce\xabxy\xbbI\xaaY\ -\x94\xaf\x03y\xcb\x0au \xfc\x87\xd7)V7\x927\ -:a\xc5\x13\x94I^\x85\xaf\x94\xbb\x0eS\xf6vb\ -*\xa3\xebQn\xb2\xaf\x17\xd3\xc8\xb3\xb6\x89E\x10\xd6\ -:A)Vt\xf7k\xd9A\xbe\xe5\x0d\x01\x05^\x17\ -\x89u\xc6x\x16\xe1\x8f\xad\xaa\x16\xd0\x87\xb2\xa45\x1c\ -D\xc2\x93)\x9fO\x9b$\xf24\x0a(\x98\xaf:\x80\ -r1\xe6\xe9\xc8F\xd2\x89\xf0_=\x09\xf9|\xe9G\ -'\x1f\x11\x0e\x07\xbdY\x87\x8bL\xb3\xb8\x1aG\x94\xa4\ -\x06\xf4U\x11\x96\x81yJ\xb2\x11L\x11e\xb5\x97\x90\ -\xcb'\xe3\xe1\x92RD0\x1c\xe4Q\xbeX\xce\xac\x7f\ -,\xc6\x02\x00H\xf6\xeb/\x85\x8a\xb7~\x1d\x94\x1b\xbc\ -\x18\xff\xf9\xf6Arp\x85e5\x1cmm\xdc\x0c\xa1\ -%\xdd^a;\xa4\x1a\xcd\x01F[\x8ax.?\x05\ -\xfe\xd2\xae\x80QlS\xe1\xc2\xee~\x8d\xf4\x1e\xc2z\ -\xa1\xb0\xc4~;\x90\x0a\xa1\xb8\xd5)\x9f\xa5\xa8Z\xbd\ -\xa1Y\xf5\x00\x00\xa8\xea\x1e\x9f/\x03\x0fY\x97q\x80\ -\xd9\xa2<\xee\xc5\xe5\xaa\xc9|\xd0d\xab\x88\xeb\xb9r\ -\xa3\x04\xbf\xb30\x1a\x7f]\xca\xe7\xafl\x1b\x1f*\xe9\ -\x01\x0ax\x22\x09\x5c\x1e\xc6\xe2\xf2\xc9\x22lF\xf9\xdb\ -\x94\xafa\x08\xabn\xd8\x11\x97O;\xf0o\xc0\x87C\ -*rC\xbb\xcfi3TM3\x84\x8f\xa2b\x01\x00\ -\xa4\xa7\xc9\x0c\xcd\xb2\x9eps\x07\xad\xeepX\xde\xe8\ -\x91\xc6\xe9\xb8\xccU\xe1&\xdbH\x9e\x22\xbcF\x07'\ -\xa7\xdeS\xe3\x0coc\x09E\x00\x00^B\xe6\xa0<\ -D\xb8\x22\xd8\xaf\xca-\x1d\xed\xdc0c\xbf\xa6C,\ -7rz\x122\x1b\xb8R\x94\xbf\xc6.\x82\xb7\x18\xaf\ -\xa9pfw\xbfn\x0b\xa3\xb0\xd0\x04\x00\xc3=\xc1\x03\ -\x10\x5cK\x1a\x22\xbe\x0a?\x11ee*\xa3o\x85\x5c\ -v\xa8\xec\x8c\xcb\xe1\xf9\xe0\xd0\xc62\x0cS\xf1\x97\xc1\ -st\xf0\xb90\xfe\xf2\x87\x08U\x00\x00\xbbD\xa6f\ -]\xee\x81H\x0e\x8d\x0e\x02\xbfR\xe5\xe7\xdd\x03\xac\xab\ -\x9b\xb8\xc3`\xb3\xec\x1c\x94\xbf!8\xaee?\xb9.\ -\xce:\xc7\xe7\xcfg\xaa\x86z_C\xe8\x02\x00\xd8(\ -2\xe5`\x97\x9f\x01\x13\x06#T\xc8.\x84;E\xb8\ -#\xd9\xcf\x0bU\x0f:\x09NQ-T\xe5\x1c\x84\x8b\ -\x08gV_\x8c;R>\xcb\xa2\x10|$\x02\x08J\ -\x16\xc7s\xf9.p%\xd1_2\xd1\xab\xf0\xb8(\x8f\ -\xe6\xe0\xd1Y\xben\x0e\xdd\x83\x88\xec\x88q\x84#|\ -\x82\xa0w\xfb\x0c\xa6\x99\xb9\xcc\xc9\x03+R>\xd7D\ -%\xf0\xe8\x04P \xed\xcab\x15n\x87\xaa&\x98\xde\ -\x01\xbc\x84\xb0I\xf2l\x12aSV\xf8m&\xc3\xae\ -\xc2\xedZ\xc5\x11\xe9\xe8u\x99=\x08\x87\x0b\xcc\x95 \ -\x12\xf7\xa3\x04\xc1\xb1Q7\xf8Hv\xa1,\x8dz\xd3\ -,r\x01\xc0pX\xd9j\xe0\xe4\xc8\x9d\x95f\x90\xe0\ -v\xad\xbd\x08\xfb\x09\xd6\xd1\xa7\x11\x5c\x84\xe1\x02\x7fP\ -\xcb\xca\x15x\x22\xebp\xb1\xcd\xda\xbe)U\x11@\xe0\ -I\xdaz\x5c\xbe%\xc1Vh\x14\x93\xa4\xc9\x80\x22\xfc\ -(\x95ay\xb5&\xb8\xd5\x13@\x01/!\x0b\x81\x1f\ -\xa3\x93'\xddl\x18\x88\xf0\x7fy\xf8\x9aI0G(\ -~k\x12\xb1-\xd2\xee\xc5\xb8\x8c \xd8\xb4\x1e\xba\xdc\ -Z\xd2\xa7\xb0j\xaf\xcf\x8a\x91\x99;\xaaEm\x04P\ -`w\xa7\xa4\x06\xf3\xfc\x10h\xca\xa8a\x15\xee'\xf8\ -\xab\x0feU\xcf\x86\x9a\x0a`\x88t\x5cNU\xb8\x16\ -8\xb5\xd6u\xa9\x12\xcf\x08\x5c=\xd1\x89\x9djQ\x17\ -\x02\x18\xa2'!'\x89r5\xb0\xb8\xd6u\x89\x02\x85\ -gE\xf9v\xcaW\x9b\x94|\x91PW\x02\x18\xc2\xeb\ -\x94\x05\xe4\xb8\x1a\xe1|\x1a\xff\x8d!/\xc2\xfd\x0a+\ -S\xfd\xfaT\xad+3\x96\xba\x14\xc0\x10;\x122K\ -\xe0\x0b\xa2|\x158\xac\xd6\xf51\xc4\x13\xb8\xdd\x81[\ -\xbb2\xfaf\xad+S\x8c\xba\x16\xc00\xc1[\xc3\xe9\ -\x22\x5c\xa0p>P\xaf1\x84{\x04\xd6\xa8rwj\ -\x80GP\xcd\xd5\xbaB\xa5h\x0c\x01\x8c`\xa3\xc8\x94\ -\x83\x5cN\x11\xe5l\x84\xc5\xc015\xae\xd2\xcb\xaa\xac\ -Sa\xdd\xbb>\xebk\xf1*W\x09\x0d'\x80\xb1\xec\ -\x9a*\xc9l\x9e\x13\xc9\xb3\x10\xe1c\x08\xc7\xa1| \ -\x12g\xc2\xbb(/\xa1l\xc0a}\x9b\xc33\x8d\x9e\ -\x15\xad\xe1\x050\x1e^\x5c\x0eC9Z`^\x1e\xe6\ -:\xc2\x1c\x85.\x11\xa6\xab2\x9d\xe0\x8a\xd5v\x0e\x1c\ -y\xdf\x07d\x81~\x11\xdeQ\xe5\x1d\x81\x9dye\x9b\ -\x03[\x14\xb6 \xbcZ\xef\xc1(6\xfc?\x14\xfa?\ -\xdce\xbf\xf3&\x00\x00\x00\x00IEND\xaeB`\ -\x82\ +\x00\x00\x80\x00\x00\x00\x80\x08\x03\x00\x00\x00\xf4\xe0\x91\xf9\ +\x00\x00\x03\x00PLTEGpL\xd3\xb0\x22\xfb\xd1\ +*\xe5\xbf%\xd3\xc1'\xf9\xd1(\xdf\xba$\xe8\xca*\ +\xd7\xc4)\xd8\xc2'\xd8\xb4$\xd2\xaf#\xfa\xd1'\xfd\ +\xd4-\xf4\xcd&\xd1\xaf#\xcf\xad#\xd0\xae\x22\xf9\xcf\ +'\xfa\xd0(\xf6\xcf&\xca\xb0#\xcd\xab\x1f>\xb56\ +\xfa\xd1'\xfb\xd1'\xfb\xd2)\xfa\xd0&\xd3\xb0#\xd0\ +\xae&\xf8\xce%\xf9\xcf'\xf8\xcf&\xf5\xcb#O\xcc\ +?\xd0\xae\x22\xd5\xb2%\xd3\xb0&\xcf\xac!\xfb\xd1(\ +\xfb\xd1(\xfd\xd3+\xfb\xd2)\xfd\xd4-\xf7\xcd\x22\xf9\ +\xcf%A\xbe9\xd3\xb0$I\xca@O\xbf7\xfd\xd3\ +,\xf6\xcc \xf7\xce(\xfa\xd1'\xd1\xaf#\xd3\xb0%\ +\xcf\xad \xd3\xb0#\xd1\xaf'\xd3\xb0&@\xbc9\xfb\ +\xd1(\xf9\xcf$\xfd\xd3,\xf8\xce\x22\xda\xb7'\xd4\xb2\ +'\xd8\xb5&\xd3\xb1'\xd0\xae\x22\xcc\xaa\x1e\xca\xb3\x22\ +\xfe\xd4-\xf3\xca#\xfd\xd4,\xfd\xd3,U\xdeK\xe2\ +\xbd(\xfd\xd4-P\xd7F\xe0\xba%S\xdcHZ\xdc\ +J=\xb46D\xc4;=\xb75<\xb25\xf7\xcd!\ +L\xd6B\xef\xc6 T\xddJO\xdbF\xf6\xcc \xd9\ +\xb5$C\xc0;A\xbc:\xf3\xc9!\xf7\xcd\x22\xd8\xb5\ +&<\xb35W\xdfM\xd6\xb4*X\xdfN\xdd\xba*\ +\xf1\xc8$C\xc1;\xf7\xcd\x22V\xddJ\xb7\xbd(\xfd\ +\xd4-G\xc7>>\xb56V\xddKd\xdcF\xed\xc4\ +\x1f\xff\xcf'\xff\xcf'\xfb\xd1)\xfb\xd2*\xff\xff\xff\ +\xf9\xcf&\xfa\xd0'\xfa\xd1(\xfc\xd3,\xf7\xcd#\xfc\ +\xd3+\xfc\xd2+\xf7\xcd\x22\xf8\xce$\xf6\xcc!\xf5\xca\ +\x1e\xfa\xd0(\xf6\xcb\x1f\xf9\xcf%\xf9\xd0'T\xddJ\ +\xf5\xcb\x1f\xf4\xca\x1d\xfd\xd4-\xf4\xc9\x1c\xf6\xcc \xf8\ +\xcf%P\xdcGW\xdfNV\xdeLK\xd9AI\xd8\ +?\xf3\xc8\x1a\xf8\xce#S\xddIR\xdcHE\xd6<\ +U\xdeKP\xdbFF\xd7=G\xd7>D\xd6;O\ +\xdbEH\xd8?\xf4\xc9\x1dN\xdbEC\xd5:B\xd5\ +9\xfd\xd3,\xfd\xd4.\xf7\xcc\x22\xf7\xcc!L\xdaC\ +\xd1\xaf'\xfd\xd3-G\xd7=C\xd6:\xcb\xa9\x1eM\ +\xdaD\xfe\xd5.M\xdaCY\xe0OY\xdfO\xcf\xac\ +!@\xd47A\xd58\xdf\xba&\xf5\xcc&F\xca>\ +A\xca8\xfe\xd4.\xeb\xc4'\xda\xb6$\xd9\xb4\x1e=\ +\xb65\xd4\xb0\x1e\xfc\xfe\xfc\xe6\xc0(\xe9\xc1\x1d\xef\xc5\ +\x1cK\xd6BC\xd0:\xdf\xb8\x1f\xef\xc8$\xd4\xb1&\ +\xfa\xfc\xfa\xf0\xc9)N\xc9F\x8d\xd36H\xd1?\xe2\ +\xbb\x1eB\xc58\xe7\xce%\xed\xed\xed\x9c\xeb\x97z\xe4\ +s\xe2\xe6\xe2\xf7\xf7\xf7>\xc06\xc2\xf2\xbe\x9b\xd69\ +\xd3\xd0*Y\xc9R\xbe\xd8\xbd\xf4\xf4\xf4\xf1\xfc\xf1\xc8\ +\xd2.\xdd\xf8\xdby\xdbD`\xddI\xf6\xce)z\xcb\ +u\xae\xd4\xab\x88\xcd\x83\xfe\xd5/\x87\xe7\x81\xb4\xd31\ +\xdf\xcd%\x9c\xc3+\xcb\xdb\xcae\xc9^\xa1\xd1\x9e\xaf\ +\xef\xab\xbf\xd2/j\xdbDm\xe2ec\xdeZ\xcd\xc4\ +!\xd8\xe0\xd7q\xcbk\xb6\xef\xb2\x84\xe2}X\xd7P\ +\x98\xd0\x94[\xc16\x8b\xb6+l\xc97\x8e\xe7\x88o\ +\xb0.\xfb2\x02\xfb2\x02\x90\x0aZ\x1e\x00\x00\x01\x00\ +tRNS\x00!s\x17\x05\xcf\x0b\x07\x02\x01\x13n\ +!\xf3\x1b\xd6\xcc\x8bH6S-^\xb8\x10\xab\xb9\xa1\ +\x98\xf4h/@{\x0c\x81K\xb3R\x5c\xf0\xc0\x0e\xfa\ +\xf0\xb1Dd\x1f\x15\x83\xfb(\xfa\xc0vD4\xfa\xed\ +\x8a\xe0\xc7\xd8\xf6\x8d\xe3X\xa3\xaa\xe9@\xeab\xdd\xe6\ +\x93\xfc\x92(\xc6L\xcd\xc9vR\xd2\xe8\xaf\xa1\xea\xab\ +\xe5\xf3\xa5\x96\x90\xdd:\xec\xe5\xc4\xf5\xf9\xc2\xe8\x90d\ +\xfe\xdc\xda\xf1\xd7\xb8\xf7\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\ +\xff\xffss\xaa\x1e4\xff\x00\x00\x0a\x1bIDAT\ +x\xda\xbd\x9byX\x14G\x1a\xc6\x9bc`\x86C\x06\ +\x04\xb9QNAP\xc1\x03T\xf0\xbeWQ\xe3\xb9f\ +\xe3\x15s'\xee\xf5A\x83\x18Y\xf1\ +X\xa9[\xc0=(\xc8\xcbK\xe8\xbd0`\xbc\xadJ\ +|\xfc\xac\xb1\xe3e\xb2\x84\xf87\xa5A6N&\x1b\ +;6>~d\xe7u\x88\x172\x09\x1f\xf9wq\xb4\ +7\x9a25\x06\x8d&\xd3\xd4\xb8Yd\xd5\xb1\xa8\xf5\ +R\xb08u\x93\x81d\xa0\xd1\x8b\xf3\x80\xd8Oq\x8b\ +\x17Q\xbfBC\x89\x86\xa7\xfazN\x8e\x89\xe9\x97\x16\ +\xa6\x1cC\x92\x0d\xa6v\x11\x01\xc6\xf1\x0d\xf8\xff\x0b\xcc\ +:\x13I\xa6\x87\x8dr'\x14\x1dX\xdc\xc7M\x1dC\ +Y\xd8\x0c\x8f\xc1\xdfO\x09\x05\xd7ml 'y\xb2\ +\xdf\xaf\x94\x0f\x17\xdfp\xd2P\x01\x0e\xc2\xdbOq\x8f\ +\xff\x1b\x10=9&\x1a\xf9zw\x99B64B\xa3\ +\x84p\xa7\x00?\xb8\xbe\xcfh\xa1\x89$.\x9d\xac\x07\ +\x86\x19\xc9}\x0eB\xc1\xfa\xb1\x83\x84\xa72'\x1f\x12\ +\xda\x0639\x1b1\xc0\x1e\xa8'\xa7\xd8{\xb7+<\ +\x94\x0d\x15\xb0H\x9c=\xad\x01\x9bAT4\xc4b\x96\ +\xb9\x1e>\x86u\xa0P#Y\xe3H\xb1\x12f@\xa3\ +\xc4\xae1\x9d\xd2M\xb0X\xfe\xec\xd4\xa3b\x1d\x80\xfa\ +p'\xfc+-\x86\x04\xc5\xda\x1e\xc6\xaa\xe5k\x80\xd4\ +2\x80\x16XS4\x10\x03\x1a_v\xc3\x85\x93\xa6\xed\ +\xd8\x06P\x82\xf69<\xc2\xf17Sa 9\x0f\xf3\ +\xa8I$\xb6\x114\xc0\xec:\xda\x84\xd3\xd7\x93\xa4/\ +\xcf\xf7T\x92\xd4\xdb\xad\xb5\xc1\x07\x98\xdby,\xc3\xdc\ +\xbe\x86LG\xad\xd5&\xa7\x93\x9a\x8a\xb7\x84\x81/\xb1\ +\xa7\xd8\x0b\xf3\x96\xbe\x81\x8cE'E.\xb1d\x83^\ +\xb8\x22|\x93#\xc6N\x14\xea\xf6\xc3\x87\x0a5\xa5b\ +h\xb8\x9dF\x98\x07\xdf\xe0\xce\x14\xd4\xafo S\xed\ +=\xcbN\xa9dC\xfdv4\x22\xd67\xf3\x04Bd\ +S\xb7\x9ff\xffQ\x92\xa7\x8d\xa1\x1aa\x03\x0a\x11k\ +\xfc\x89\xc8\x00\x1b\xa8\xdbW\x06\xe0wF\x94\xa4\x06U\ +;\xbb?\xdc\xc0L\xa4~\x05\x95I@\x96\xa9\xae\xd1\ +\x06\xa4\x01\xf86\x8f\xdc\x0f\xdd\x00\xc2\x99\x04\x87Hd\ +}\x11\xbb\x1c\x03\x90\x01\x92<\xa0\xf5\xfd\x91\xf5\xdd\xbb\ +k`\x15t\x91\xda\x7f\x15\xb2\xbe\x88\xc3\x17t\x17l\ +x\x0dt\x0f\xf2\xc8\x09\xe8\xea\x22v{\x07\xa2#l\ +\x90\x01\x06\xb2\xd7\xb8=\x02\xf8\xc1\x0dD\x0a\xc5\x98\x10\ +\x89y\xa1*\x22&\x08\xd5\xdd#\xe2x:X0\xc8\ +\x9eq^vw\xe6B\xb2\x85\x11q4\xfa\x9c\x9d0\ +\x13\x22\x84\xc7\xe2\xc0$;\x15\xb3\x93\xa0{]\x8a\x11\ +\xf6\xc2d\x7f\x10\x22p\xce\xed\x12\x9cm\x1f\xf0 \x88\ +\xb4\x1f''\x09y\xa0\xea\xbf\x04\xa3\x9f\x1d\x0c\x9d\x08\ +W\xe1\x22\xe5\x04\xbb\xf0\xcf(\xd7c\x19\xee\x05\x9c\xc7\ +\xa8\xef\xe6\x9c\xb9\xf4\x15\xc5\xa5\xbb9\xe8XK8'\ +y\xee\xb2\xf5\x00Ba\x0d {\xd0v\xa3\xec\xb3N\ +\xcan\xb4\xdd9\x83\x88\x95\xc4n\x83\x08\x88\xfe\xfal\ +\xc0~W\xd4\xeb\xf3iq\x9a\x1b\x08\x0f\xac\xa7Z\xbe\ +\x14d`\x9b\x0c7\x97&\xcf~\xa9\x0cM\xdb]v\ +\xac\x1c\xf6\xc2dj\xce\x07 ^\xb3\x7f\xf7\xb3_\xda\ +)HY\xdb\x19f$}\x1a{c\xbc\xe6C\x183\ +\xed\xe8?\xf3\xc2N{\x94\xdd|\xc0\x08T\xc7\xce\x0c\ +=\x0c90\x86\xfb\x0b\x1e6\xcf\xde\x89\xa5\xa9\x9e\x0e\ +\xe4\xc3\xa9\x9e\x9a\x07u \xd0\x06\xc9\xf3\xf1\xfa;?\ +{x\xd7\x1a%\xaf>\x9a{8Q\x93\x03e%j\ +J\x9e\xfb\xc2.\x08e7/Y\x83h\xb8\xc9\xa9\x8b\ +\x01l g\x1c\xef\xad\xae\x98\xfb\xec. V\x07\x1f\ +\xfa\xf0n!5o\x1b\x98\xe1K9\xaf\x93d\xb0~\ +\x87\x03*B=omJx\xd6\xc0\x0dP#!t\ +@Wf\xa1\x88\xfa\xf3;\x22xxf\xdb\xb6\xd3\xfc\ +\xfc\xd8\xc9\xb0M\x1cKB#\xfa\xbaP\xafv\xd7>\ +\xd3\xff\xf2\x8e(n\xe4\xe5\xa1\x0eQ\x94\xa7\xf36\x89\ +'i\xc2\xa6Mwr\xc5\xb1\xab\xcd\xe0\x8b:\xa4+\ +\xaf\xaa\xb3`0TVVuP^\xf9\x1e\xc4\xc3\xdd\ +\x9b\xb9by\x03\xb5@S\x84\x95\xf3\xa8\x01\xe8\xe74\ +\x89\xd6\xcf\x9d\x8f\x9eKF\xa7EG{z\x0e\xed\x17\ +\x17\x173}z@\x80\x93\xd3\xe4\xbf\x02\x0c\x5cz\x1b\ +\xc6\xe3s\xe7m\x7f\xee\xcd}\x06\x92\xd9u\x1cZ\xe5\ +a\xd9x\x03$\x9f\xfb\xe8\x9a\xaa\xfa[\xda\xc1|`\ +r\xb5\x0ao\xe0\xd2^\x10\xe7\xaf\xa9T\x94\x03\xfaz\ +\x08\xec\xb7\x5cx\xfdMMp}\x95\xea\xe4O\x9d\xd7\ +o\xff\x01d`%\xde@}.H\xff\xa4\xca\xca\xc9\ +\xf3\xb6\xa2\x14Hr\xf7\xdcF,\x0fv\x00\xf8\xd6\xa6\ +O9xd)\xd9\xbb\xe3u\xc8\x1a\x17\xaf\xbf\xb1I\ +\x9c\xbe\xaa\xfa\xa7\xceBH\x1f,\x05\x18x\xb8\x0f\xcb\ +\x7f\xab\x19\xfa\xf7~\xb6\x16\x96<\x8b\xdf,pK\xc2\ +\xeb\x9f\xc1\xeb\x9fc\xe8\x9f\xbcw\xb9\xd4V>\x17\xbf\ +\xbe\xc0\xebo\xfd\xaa\x84\xc1\xbeG\xbbJx\x9cS1\ +\xf4\xaf\x5c>A\x7f\x80\x9f\x8b\x06o\xc1s\x87!U\ +v]u\xed\x8c\x5c>\xb5\xd0\xc6\ +w\xcc\xa0\xcd\xa7\xbe?\x0b\xd4\xdf\xbd\x02v\x04\x19\xab\ +.\xaf\xa1dj\xaa\xd4S\xddX\x0bI\x9b\x81'\xcd\ +,\x07\xda[\x17X\xddp\xf6\x96\xf6\x00R\xbf\x19\x96\ +\x95\x12\x0aOj\xde\xa9\xacR\xab\xd9\x87\x96Nut\ +\x13\xfcz\x80I\xb1\xf6\xfe=F7\x5c\xb8\xa5->\ +\x80\xe4U\xf0o\x1c\x03|\xd4j\xf54\xce/\x02\x15\ +>]}\xc0Q\xa8et\xc3\x85\x1f\x84\xf4\x0fd\x10\ +`\x5cc<\xe3x\xc7E\xbef\x9b\x81\x1am1\x9b\ +f\xed\xed\xcen\xe8\xd0\x17@\x9b,\xe6g\xe6\xa8\xe1\ +y\x9an\x82\xdf\x8a8\xc1\xdf\xb7vC\xf5\x85\xfb\x82\ +\xfaE\xcb\x89n\xe2\xba\x8c6p\xb7\xe5c\x0e\xfbk\ +O}}\xf6\xea\xd3\xfb\xda\x8f\x85h\x99\xdb]\x03\xc4\ +Ts\xd7(\xa8\xdd\xcf\xa1\xb8V{\xeb\xf6e^\xb1\ +\x8d\xa2\xe6\x15\xdd\xd6'\xfau=\x07\xe6_\x8b\xf8\x1a\ +:\x9d\xa0\xfe\xfe\xa2W\xa3\xbao\xc0\x83\x9e\xa2\x0a\xcd\ +OZ\x8ax\x14\x17\x09\xd32\x84\x90\x00j\x9e.\xaf\ +\xaa\xaa\xb2l\xa6\xfc\xd6R$\x02]\x86\x14\xfa\x0a\xd7\ +hu\x17\xff\xd3\xbd\x0bF\x17(\xd5?\xc8\xba\x8d\x1e\ +\x15\xd7\x8f\x22nz@J \xd8\x81nA\x14!=\ +\xf2\xa8@\xdd' t\x0bR\x88\x1e!*\xb0\xf5\xd0\ +\xfbX\x0e\xb5\x04F\x11=\x84<\xc3X\x8b\xd3\xafm\ +]\xd1\x93\xff\x9e\xbchu\xcb\xe7\x87\xec\xd1\xf2\xa7E\ +D\x8f\x92\xb2\xdc\xa8\x13\x96\xd7\x19\x03\x93\x89\x9ef\xc8\ +\x02\xa3\xees$:\xe3\xe2!Do0$\xd0\xd8\xaa\ +;\xce\x16?\xaek5\x06.R\x10\xbdD\xf2\xc2\x05\ +Fck\x8b\xae\xf68E\xad\xae\xa5\xd5h\x5c\xbc0\ +\x99\xe8UR\x16e\x04.^m\xa4X\xbd80c\ +Q\x0aa\xe7\xee\xff\x0fO2\xbfP\x8b\xfe4z\x00\ +\x00\x00\x00IEND\xaeB`\x82\ \x00\x00\x05~\ \x89\ PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ @@ -616,10 +566,11 @@ qt_resource_name = b"\ \x06\x0b\xf4\xa7\ \x00b\ \x00l\x00a\x00n\x00k\x00_\x001\x002\x008\x00.\x00p\x00n\x00g\ -\x00\x0c\ -\x0a\xf7\xc1\x07\ -\x00n\ -\x00o\x00n\x00e\x00_\x001\x002\x008\x00.\x00p\x00n\x00g\ +\x00\x12\ +\x0d,\x1a\xc7\ +\x00d\ +\x00a\x00i\x00l\x00y\x00c\x00h\x00e\x00c\x00k\x00_\x001\x002\x008\x00.\x00p\x00n\ +\x00g\ \x00\x08\ \x09n\x91\xb3\ \x00b\ @@ -645,15 +596,15 @@ qt_resource_struct = b"\ \x00\x00\x00\x00\x00\x00\x00\x00\ \x00\x00\x00\x12\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ \x00\x00\x01\x8db\xb8\xc9\xc8\ -\x00\x00\x00P\x00\x02\x00\x00\x00\x03\x00\x00\x00\x05\ +\x00\x00\x00\x5c\x00\x02\x00\x00\x00\x03\x00\x00\x00\x05\ \x00\x00\x00\x00\x00\x00\x00\x00\ \x00\x00\x002\x00\x00\x00\x00\x00\x01\x00\x00\x01\xbc\ -\x00\x00\x01\x8da\x99\x15\xcb\ -\x00\x00\x00\x84\x00\x00\x00\x00\x00\x01\x00\x00\x18\xc4\ +\x00\x00\x01\x8df\xb35\xbe\ +\x00\x00\x00\x90\x00\x00\x00\x00\x00\x01\x00\x00\x15\xae\ \x00\x00\x01\x8dd\xf15i\ -\x00\x00\x00\xa4\x00\x00\x00\x00\x00\x01\x00\x00\x1eE\ +\x00\x00\x00\xb0\x00\x00\x00\x00\x00\x01\x00\x00\x1b/\ \x00\x00\x01\x8dd\xf1K\xbc\ -\x00\x00\x00f\x00\x00\x00\x00\x00\x01\x00\x00\x13B\ +\x00\x00\x00r\x00\x00\x00\x00\x00\x01\x00\x00\x10,\ \x00\x00\x01\x8dd\xf1\x5c\xbe\ " diff --git a/dailycheck.icns b/dailycheck.icns new file mode 100644 index 0000000000000000000000000000000000000000..b4fdf33eab200ebf6e849af50710718e7b5219cf GIT binary patch literal 74761 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 aLi5puD|ep4{}MyfR~rkXpL^Vq$-e>GI3U^p literal 0 HcmV?d00001 diff --git a/dailycheck.ico b/dailycheck.ico new file mode 100644 index 0000000000000000000000000000000000000000..4ab6b0b6aaddbdd2544f5159cab78559a7449a2c GIT binary patch literal 176804 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 literal 0 HcmV?d00001 diff --git a/global_vars.py b/global_vars.py index 817e417..789bd94 100644 --- a/global_vars.py +++ b/global_vars.py @@ -1,4 +1,5 @@ # coding: utf8 +import requests from PySide6 import QtWidgets SoftwareStatusRole = 0x0101 @@ -32,3 +33,10 @@ def get_with_chained_keys(dic: dict, keys: list, default=None): if len(keys) == 1: return dic[k] return get_with_chained_keys(dic[k], keys[1:], default) + + +def request_content(url: str) -> bytes: + req = requests.get(url) + if req.status_code == 200: + return req.content + return b"" diff --git a/images/dailycheck_128.png b/images/dailycheck_128.png new file mode 100644 index 0000000000000000000000000000000000000000..059eeb680d89aa153a5d7703d681206988afe7e6 GIT binary patch literal 3692 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 o^NSMuZe>|lE4oMPe=eCVT9Nt4i| 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 diff --git a/main.py b/main.py index c6eb69d..a6cd018 100644 --- a/main.py +++ b/main.py @@ -1,44 +1,16 @@ # coding: utf8 import sys from PySide6 import QtWidgets -from wg_basic import WgBasic -from wg_software import WgSoftware -from wg_extensions import WgExtensions +from mw_dailycheck import MwDailyCheck import daily_check_rc - -class UiMainWindow(object): - - def __init__(self, window: QtWidgets.QWidget): - window.resize(800, 600) - window.setWindowTitle("日常检查工具") - - self.vly_m = QtWidgets.QVBoxLayout() - window.setLayout(self.vly_m) - - self.tw_m = QtWidgets.QTabWidget(window) - self.vly_m.addWidget(self.tw_m) - - self.wg_basic = WgBasic(window) - self.wg_software = WgSoftware(window) - self.wg_extensions = WgExtensions(window) - - self.tw_m.addTab(self.wg_basic, "基本信息") - self.tw_m.addTab(self.wg_software, "已安装软件") - self.tw_m.addTab(self.wg_extensions, "已安装插件") - - -class MainWindow(QtWidgets.QWidget): - - def __init__(self, parent=None): - super().__init__(parent) - self.ui = UiMainWindow(self) +version = (0, 1, 0) def main(): app = QtWidgets.QApplication(sys.argv) - win = MainWindow() + win = MwDailyCheck(version) win.show() return app.exec() diff --git a/mw_dailycheck.py b/mw_dailycheck.py new file mode 100644 index 0000000..96117f9 --- /dev/null +++ b/mw_dailycheck.py @@ -0,0 +1,101 @@ +# coding: utf8 +import json +from pathlib import Path +from PySide6 import QtWidgets, QtGui, QtCore +from wg_basic import WgBasic +from wg_software import WgSoftware +from wg_extensions import WgExtensions +from global_vars import ( + request_content, + accept_warning, +) + + +class UiMwDailyCheck(object): + + def __init__(self, window: QtWidgets.QMainWindow): + + self.cw = QtWidgets.QWidget(window) + window.setCentralWidget(self.cw) + + self.vly_m = QtWidgets.QVBoxLayout() + self.cw.setLayout(self.vly_m) + self.tw_m = QtWidgets.QTabWidget(self.cw) + self.vly_m.addWidget(self.tw_m) + self.wg_basic = WgBasic(self.cw) + self.wg_software = WgSoftware(self.cw) + self.wg_extensions = WgExtensions(self.cw) + self.tw_m.addTab(self.wg_basic, "基本信息") + self.tw_m.addTab(self.wg_software, "已安装软件") + self.tw_m.addTab(self.wg_extensions, "已安装插件") + + self.menu_bar = window.menuBar() + self.menu_help = self.menu_bar.addMenu("帮助") + self.menu_about = self.menu_bar.addMenu("关于") + + self.act_update_safe = QtGui.QAction("更新安全标注", window) + self.act_export_unknown = QtGui.QAction("导出未知", window) + + self.act_about = QtGui.QAction("关于", window) + self.act_about_qt = QtGui.QAction("关于 Qt", window) + + self.menu_help.addActions([self.act_update_safe, self.act_export_unknown]) + self.menu_about.addActions([self.act_about, self.act_about_qt]) + + +class MwDailyCheck(QtWidgets.QMainWindow): + + def __init__(self, version: tuple, parent=None): + super().__init__(parent) + self.version = version + self.setWindowTitle("日常检查工具") + self.setWindowIcon(QtGui.QIcon(":/images/dailycheck_128.png")) + self.ui = UiMwDailyCheck(self) + + self.ui.act_update_safe.triggered.connect(self.on_act_update_safe_triggered) + self.ui.act_export_unknown.triggered.connect(self.on_act_export_unknown_triggered) + self.ui.act_about.triggered.connect(self.on_act_about_triggered) + self.ui.act_about_qt.triggered.connect(self.on_act_about_qt_triggered) + + def sizeHint(self): + return QtCore.QSize(800, 600) + + def on_act_about_triggered(self): + msg = f"日常检查工具\n\n适用于 Windows 平台。版本:{self.version[0]}.{self.version[1]}.{self.version[-1]}" + QtWidgets.QMessageBox.about(self, "关于", msg) + + def on_act_about_qt_triggered(self): + QtWidgets.QMessageBox.aboutQt(self, "关于 Qt") + + def on_act_update_safe_triggered(self): + root_url = "https://julianfreeman.github.io/dailycheckutils" + marks_all = request_content(f"{root_url}/marks_all.json").decode("utf8") + if len(marks_all) == 0: + return + marks_all_d = json.loads(marks_all) + self.ui.wg_software.update_safe(marks_all_d["software_win"]) + self.ui.wg_extensions.update_safe(marks_all_d["extensions"]) + self.ui.wg_basic.update_safe(marks_all_d["isp"], marks_all_d["manufacturer"]) + + def on_act_export_unknown_triggered(self): + dirname = QtWidgets.QFileDialog.getExistingDirectory(self, "导出未知") + if len(dirname) == 0: + return + + ex_file = Path(dirname, f"未知信息.json") + if accept_warning(self, ex_file.exists(), "警告", "文件已存在,确认覆盖吗?"): + return + + unknown_software = self.ui.wg_software.export_unknown() + unknown_ext = self.ui.wg_extensions.export_unknown() + unknown_isp_manu = self.ui.wg_basic.export_unknown() + + unknown_all = { + "software_win": unknown_software, + "extensions": unknown_ext, + } + unknown_all.update(unknown_isp_manu) + + with open(ex_file, "w", encoding="utf8") as f: + json.dump(unknown_all, f, indent=4, ensure_ascii=False) + QtWidgets.QMessageBox.information(self, "提示", f"已导出到 {ex_file}") diff --git a/util_func.py b/util_func.py index c3c0acf..efcc054 100644 --- a/util_func.py +++ b/util_func.py @@ -3,22 +3,19 @@ import os import wmi import json import win32gui -import requests import subprocess from pathlib import Path from PySide6.QtCore import QDir, QSettings from PySide6.QtGui import QImage, QIcon, QPixmap +from global_vars import request_content def get_isp_name() -> str: - req = requests.get("https://ipinfo.io/") - if req.status_code == 200: - try: - data = json.loads(req.content) - return data.get("org", "[Not found]") - except json.JSONDecodeError: - return "[Decode Error]" - return "[Return Error]" + try: + data = json.loads(request_content("https://ipinfo.io/")) + return data.get("org", "[Not found]") + except json.JSONDecodeError: + return "[Decode Error]" def get_win_manufacturer() -> list[str]: @@ -83,4 +80,3 @@ def extract_win_icon_from_file(icon: str, default: QIcon) -> QIcon: return QIcon(QPixmap(image)) else: return default - diff --git a/wg_basic.py b/wg_basic.py index 4780759..cac38dc 100644 --- a/wg_basic.py +++ b/wg_basic.py @@ -1,5 +1,5 @@ # coding: utf8 -from PySide6 import QtWidgets +from PySide6 import QtWidgets, QtCore, QtGui from util_func import ( get_isp_name, get_win_manufacturer, @@ -45,8 +45,6 @@ class UiWgBasic(object): self.vly_gbx_license.addWidget(self.pte_license) self.pte_license.setReadOnly(True) - # self.vly_m.addStretch(1) - class WgBasic(QtWidgets.QWidget): @@ -61,3 +59,34 @@ class WgBasic(QtWidgets.QWidget): self.ui.pte_license.setPlainText(get_win_license()) + def update_safe(self, isp_safe_info: dict, manu_safe_info: dict): + + def set_palette(is_safe: bool | None, lne_w: QtWidgets.QLineEdit): + pal = lne_w.palette() + if is_safe is True: + pal.setColor(QtGui.QPalette.ColorRole.Text, QtCore.Qt.GlobalColor.blue) + elif is_safe is False: + pal.setColor(QtGui.QPalette.ColorRole.Text, QtCore.Qt.GlobalColor.red) + else: + pal.setColor(QtGui.QPalette.ColorRole.Text, QtCore.Qt.GlobalColor.black) + lne_w.setPalette(pal) + + isp_text = self.ui.lne_isp.text() + if isp_text in isp_safe_info: + is_isp_safe = isp_safe_info[isp_text]["safe"] + set_palette(is_isp_safe, self.ui.lne_isp) + + manu_text = self.ui.lne_manufacturer.text() + if manu_text in manu_safe_info: + is_manu_safe = manu_safe_info[manu_text]["safe"] + set_palette(is_manu_safe, self.ui.lne_manufacturer) + + def export_unknown(self) -> dict: + unknown = {} + text_role = QtGui.QPalette.ColorRole.Text + black = QtCore.Qt.GlobalColor.black + if self.ui.lne_isp.palette().color(text_role) == black: + unknown["isp"] = self.ui.lne_isp.text() + if self.ui.lne_manufacturer.palette().color(text_role) == black: + unknown["manufacturer"] = self.ui.lne_manufacturer.text() + return unknown diff --git a/wg_extensions.py b/wg_extensions.py index 7044832..be81053 100644 --- a/wg_extensions.py +++ b/wg_extensions.py @@ -1,12 +1,9 @@ # coding: utf8 -import json -from pathlib import Path from PySide6 import QtWidgets, QtCore, QtGui from util_ext import scan_extensions, ExtensionsData from global_vars import ( ExtensionStatusRole, ExtensionIdRole, - accept_warning, ) @@ -26,35 +23,37 @@ class UiWgExtensions(object): self.cbx_unsafe.setChecked(True) self.cbx_unknown.setChecked(True) self.cbx_chrome_compat = QtWidgets.QCheckBox("谷歌兼容模式", window) - self.pbn_export_unknown = QtWidgets.QPushButton("导出未知", window) + self.pbn_update = QtWidgets.QPushButton("更新", window) self.hly_top.addWidget(self.cmbx_browsers) self.hly_top.addWidget(self.cbx_safe) self.hly_top.addWidget(self.cbx_unsafe) self.hly_top.addWidget(self.cbx_unknown) self.hly_top.addStretch(1) self.hly_top.addWidget(self.cbx_chrome_compat) - self.hly_top.addWidget(self.pbn_export_unknown) + self.hly_top.addWidget(self.pbn_update) self.lv_extensions = QtWidgets.QListView(window) self.vly_m.addWidget(self.lv_extensions) -class ExtensionsListModel(QtCore.QAbstractListModel): +class BaseExtensionsListModel(QtCore.QAbstractListModel): - def __init__(self, browser: str, parent=None): + def __init__(self, parent=None): super().__init__(parent) self.all_extensions = {} # type: ExtensionsData self.names = [] # type: list[tuple[str, str]] self.icons = {} # type: dict[str, QtGui.QIcon] self.safe_info = {} # type: dict[str, dict] self.blank_icon = QtGui.QIcon(":/images/blank_128.png") - self.update(browser) - def update(self, browser: str, is_chrome_compat=False): + def update(self, **kwargs): + raise NotImplementedError + + def update_ext(self, browser: str, is_chrome_compat=False): + """内部用""" self.all_extensions.clear() self.names.clear() self.icons.clear() - self.safe_info.clear() self.all_extensions = scan_extensions(browser, is_chrome_compat) for ext_id in self.all_extensions: @@ -67,8 +66,11 @@ class ExtensionsListModel(QtCore.QAbstractListModel): self.icons[ext_id] = QtGui.QIcon(icon) self.names.sort(key=lambda x: x[1].lower()) - with open("plg_db_v2.0.json", "r", encoding="utf-8") as f: - self.safe_info = json.load(f) + # print("updated " + browser) + + def update_safe_info(self, safe_info: dict): + self.safe_info.clear() + self.safe_info = safe_info def rowCount(self, parent: QtCore.QModelIndex = ...): return len(self.names) @@ -83,7 +85,6 @@ class ExtensionsListModel(QtCore.QAbstractListModel): return self.icons[ext_id] if role == QtCore.Qt.ItemDataRole.BackgroundRole: is_safe = self.data(index, ExtensionStatusRole) - if is_safe is True: return QtGui.QBrush(QtGui.QColor("lightgreen")) elif is_safe is False: @@ -99,6 +100,24 @@ class ExtensionsListModel(QtCore.QAbstractListModel): return ext_id +class ChromeExtensionsListModel(BaseExtensionsListModel): + + def update(self, is_chrome_compat=False): + super().update_ext("Chrome", is_chrome_compat) + + +class EdgeExtensionsListModel(BaseExtensionsListModel): + + def update(self, **kwargs): + super().update_ext("Edge") + + +class BraveExtensionsListModel(BaseExtensionsListModel): + + def update(self, **kwargs): + super().update_ext("Brave") + + class BrowsersListModel(QtCore.QAbstractListModel): def __init__(self, parent=None): @@ -131,16 +150,24 @@ class WgExtensions(QtWidgets.QWidget): self.browsers_list_model = BrowsersListModel(self) self.ui.cmbx_browsers.setModel(self.browsers_list_model) - browser = self.get_current_browser() - self.extensions_list_model = ExtensionsListModel(browser, self) - self.ui.lv_extensions.setModel(self.extensions_list_model) + self.ext_list_models: dict[str, BaseExtensionsListModel] = { + "Chrome": ChromeExtensionsListModel(self), + "Edge": EdgeExtensionsListModel(self), + "Brave": BraveExtensionsListModel(self), + } + self.model_is_initial = { + "Chrome": True, + "Edge": True, + "Brave": True, + } + self.switch_model(self.get_current_browser()) self.ui.cbx_chrome_compat.clicked.connect(self.on_cbx_chrome_compat_clicked) self.ui.cmbx_browsers.currentTextChanged.connect(self.on_cmbx_browsers_current_text_changed) self.ui.cbx_safe.clicked.connect(self.on_cbx_safe_clicked) self.ui.cbx_unsafe.clicked.connect(self.on_cbx_unsafe_clicked) self.ui.cbx_unknown.clicked.connect(self.on_cbx_unknown_clicked) - self.ui.pbn_export_unknown.clicked.connect(self.on_pbn_export_unknown_clicked) + self.ui.pbn_update.clicked.connect(self.on_pbn_update_clicked) def get_current_browser(self) -> str: return self.ui.cmbx_browsers.currentData(QtCore.Qt.ItemDataRole.DisplayRole) @@ -158,21 +185,31 @@ class WgExtensions(QtWidgets.QWidget): self.filters_clicked(None, self.ui.cbx_unknown.isChecked()) def update_model(self, browser: str): - # 切换浏览器时 + model = self.ext_list_models[browser] self.show_all_rows() - self.extensions_list_model.update(browser, self.ui.cbx_chrome_compat.isChecked()) + model.update(is_chrome_compat=self.ui.cbx_chrome_compat.isChecked()) self.apply_rows_hidden() + def switch_model(self, browser: str): + if self.model_is_initial[browser] is True: + self.update_model(browser) + self.model_is_initial[browser] = False + + self.ui.lv_extensions.setModel(self.ext_list_models[browser]) + def on_cbx_chrome_compat_clicked(self): - self.update_model(self.get_current_browser()) + if self.get_current_browser() == "Chrome": + self.update_model("Chrome") def on_cmbx_browsers_current_text_changed(self, text: str): - self.update_model(text) + self.switch_model(text) + self.ui.cbx_chrome_compat.setVisible(self.ui.cmbx_browsers.currentText() == "Chrome") def filters_clicked(self, safe_mark: bool | None, checked: bool): - for row in range(self.extensions_list_model.rowCount()): - idx = self.extensions_list_model.index(row) - is_safe = self.extensions_list_model.data(idx, ExtensionStatusRole) + model = self.ext_list_models[self.get_current_browser()] + for row in range(model.rowCount()): + idx = model.index(row) + is_safe = model.data(idx, ExtensionStatusRole) if is_safe is safe_mark: self.ui.lv_extensions.setRowHidden(row, not checked) @@ -185,26 +222,22 @@ class WgExtensions(QtWidgets.QWidget): def on_cbx_unknown_clicked(self, checked: bool): self.filters_clicked(None, checked) - def on_pbn_export_unknown_clicked(self): - dirname = QtWidgets.QFileDialog.getExistingDirectory(self, "导出未知") - if len(dirname) == 0: - return + def on_pbn_update_clicked(self): + self.update_model(self.get_current_browser()) - browser = self.get_current_browser() - ex_file = Path(dirname, f"未知插件_{browser}.json") - if accept_warning(self, ex_file.exists(), "警告", "文件已存在,确认覆盖吗?"): - return + def update_safe(self, safe_info: dict): + for browser in self.ext_list_models: + self.ext_list_models[browser].update_safe_info(safe_info) + def export_unknown(self) -> dict[str, dict]: unknown_ext = {} - for row in range(self.extensions_list_model.rowCount()): - idx = self.extensions_list_model.index(row) - is_safe = self.extensions_list_model.data(idx, ExtensionStatusRole) - if is_safe is None: - ext_id = self.extensions_list_model.data(idx, ExtensionIdRole) - name = self.extensions_list_model.data(idx, QtCore.Qt.ItemDataRole.DisplayRole) - unknown_ext[ext_id] = {"name": name} - - with open(ex_file, "w", encoding="utf8") as f: - json.dump(unknown_ext, f, indent=4, ensure_ascii=False) - QtWidgets.QMessageBox.information(self, "提示", f"已导出到 {ex_file}") - + for browser in self.ext_list_models: + model = self.ext_list_models[browser] + for row in range(model.rowCount()): + idx = model.index(row) + is_safe = model.data(idx, ExtensionStatusRole) + if is_safe is None: + ext_id = model.data(idx, ExtensionIdRole) + name = model.data(idx, QtCore.Qt.ItemDataRole.DisplayRole) + unknown_ext[ext_id] = {"name": name} + return unknown_ext diff --git a/wg_software.py b/wg_software.py index 7f8819f..a4ed62e 100644 --- a/wg_software.py +++ b/wg_software.py @@ -4,7 +4,9 @@ from util_func import ( get_win_installed_software, extract_win_icon_from_file, ) -from global_vars import SoftwareStatusRole +from global_vars import ( + SoftwareStatusRole, +) class UiWgSoftware(object): @@ -21,14 +23,10 @@ class UiWgSoftware(object): self.cbx_safe.setChecked(True) self.cbx_unsafe.setChecked(True) self.cbx_unknown.setChecked(True) - self.pbn_import_filter = QtWidgets.QPushButton("导入过滤文件", window) - self.pbn_export_unknown = QtWidgets.QPushButton("导出未知", window) self.hly_top.addWidget(self.cbx_safe) self.hly_top.addWidget(self.cbx_unsafe) self.hly_top.addWidget(self.cbx_unknown) self.hly_top.addStretch(1) - self.hly_top.addWidget(self.pbn_import_filter) - self.hly_top.addWidget(self.pbn_export_unknown) self.lv_software = QtWidgets.QListView(window) self.vly_m.addWidget(self.lv_software) @@ -38,16 +36,30 @@ class SoftwareListModel(QtCore.QAbstractListModel): def __init__(self, parent=None): super().__init__(parent) + self.all_software = {} # type: dict[str, str] + self.names = [] # type: list[str] + self.icons = {} # type: dict[str, QtGui.QIcon] + self.safe_info = {} + self.blank_icon = QtGui.QIcon(":/images/blank_128.png") + self.update() + + def update(self): + self.all_software.clear() + self.names.clear() + self.icons.clear() + self.all_software = get_win_installed_software() - self.all_software_wz_qic = {} - blank_icon = QtGui.QIcon(":/images/blank_128.png") for s in self.all_software: - self.all_software_wz_qic[s] = extract_win_icon_from_file( + self.names.append(s) + self.icons[s] = extract_win_icon_from_file( self.all_software[s], - blank_icon + self.blank_icon ) - self.names = sorted(self.all_software.keys(), key=lambda x: x.lower()) - self.filter_dict = {} + self.names.sort(key=lambda x: x.lower()) + + def update_safe_info(self, safe_info: dict): + self.safe_info.clear() + self.safe_info = safe_info def rowCount(self, parent: QtCore.QModelIndex = ...): return len(self.names) @@ -59,12 +71,20 @@ class SoftwareListModel(QtCore.QAbstractListModel): if role == QtCore.Qt.ItemDataRole.DisplayRole: return name if role == QtCore.Qt.ItemDataRole.DecorationRole: - return self.all_software_wz_qic[name] - if role == SoftwareStatusRole: - if name not in self.filter_dict: - return -1 + return self.icons[name] + if role == QtCore.Qt.ItemDataRole.BackgroundRole: + is_safe = self.data(index, SoftwareStatusRole) + if is_safe is True: + return QtGui.QBrush(QtGui.QColor("lightgreen")) + elif is_safe is False: + return QtGui.QBrush(QtGui.QColor("lightpink")) else: - return self.filter_dict[name]["safe"] + return QtGui.QBrush(QtCore.Qt.BrushStyle.NoBrush) + if role == SoftwareStatusRole: + if name not in self.safe_info: + return None + else: + return self.safe_info[name]["safe"] class WgSoftware(QtWidgets.QWidget): @@ -76,18 +96,36 @@ class WgSoftware(QtWidgets.QWidget): self.software_list_model = SoftwareListModel(self) self.ui.lv_software.setModel(self.software_list_model) - # self.ui.pbn_export_unknown.clicked.connect(self.on_pbn_export_unknown_clicked) + self.ui.cbx_safe.clicked.connect(self.on_cbx_safe_clicked) + self.ui.cbx_unsafe.clicked.connect(self.on_cbx_unsafe_clicked) + self.ui.cbx_unknown.clicked.connect(self.on_cbx_unknown_clicked) - def on_pbn_export_unknown_clicked(self): - unknown_software = {} - sl_model = self.ui.lv_software.model() # type: SoftwareListModel - for r in range(sl_model.rowCount()): - idx = sl_model.index(r) - name = sl_model.data(idx, QtCore.Qt.ItemDataRole.DisplayRole) - safe = sl_model.data(idx, SoftwareStatusRole) - if safe == -1: - unknown_software[name] = {"safe": -1} + def filters_clicked(self, safe_mark: bool | None, checked: bool): + for row in range(self.software_list_model.rowCount()): + idx = self.software_list_model.index(row) + is_safe = self.software_list_model.data(idx, SoftwareStatusRole) + if is_safe is safe_mark: + self.ui.lv_software.setRowHidden(row, not checked) - + def on_cbx_safe_clicked(self, checked: bool): + self.filters_clicked(True, checked) + def on_cbx_unsafe_clicked(self, checked: bool): + self.filters_clicked(False, checked) + def on_cbx_unknown_clicked(self, checked: bool): + self.filters_clicked(None, checked) + + def update_safe(self, safe_info: dict): + self.software_list_model.update_safe_info(safe_info) + + def export_unknown(self) -> list[str]: + unknown_software = [] + for row in range(self.software_list_model.rowCount()): + idx = self.software_list_model.index(row) + is_safe = self.software_list_model.data(idx, SoftwareStatusRole) + if is_safe is None: + name = self.software_list_model.data(idx, QtCore.Qt.ItemDataRole.DisplayRole) + unknown_software.append(name) + + return unknown_software