Final ieration of the new downloader and update_manager, implemented automatic updates only for windows
This commit is contained in:
@@ -5159,174 +5159,174 @@ z7\x80\xec$\xf4c9\xf2\xd1\x8f4\xc6\xbc>\xb8\
|
||||
\x116\x9d`\x1e\x97*W\xd9M\xe1\x09\x12\xa5\xfc\xda\
|
||||
h;Q\xfc\xeb\x9c\x87 J\xfd\xc5\xd0c0\xc6[\
|
||||
\xf7\xe4\x19\xd3~\xf5\xc8?\xf0\xff?E#\xf2\xe8\
|
||||
\x00\x00\x0a[\
|
||||
\x00\x00\x0aW\
|
||||
\x00\
|
||||
\x003#x\xda\xcd\x1ako\xdb8\xf2\xfb\x02\xfb\x1f\
|
||||
x\xfe\xb0\xb5osJ\xdaC\x81=w{@j\xa7\
|
||||
M\x80$\xcd\xd6i\x8bCQ\x14\xb4D\xdb\xbc\xd0\xa2\
|
||||
\x96\xa2\xe2d\xdb\xfc\xf7\x9d!\xf5\xa2^\x96\x93\xf4\xf6\
|
||||
\xdc\xc2\xb1\xc8\x19r^\x9c\x17\xc5\xd7\x91T\x9a\xfc\xa6\
|
||||
\x7fK\xb8\x7f\xf5\xe3\x0f\xdcy\xf6>\xf20\x90\x9b\xda\
|
||||
\xf0D\x86ZI\x11\xb7NxgT3\xc5\xa9\xa8A\
|
||||
\x9c\xd2[\x99\xe8:\xe6\x14\x80\xe5\x12\xc6\xf1\x9f\xdd\x96\
|
||||
|\xfd\xf1\x07\x02\x1f\x1e\x8c\xc9&%\x04\x9f7<\xd0\
|
||||
\xab1y\xfa\xf4\xe0\xc0\x0e\xac\x18_\xae\xf4\x98\xfc\x82\
|
||||
\x03vh\x22a\xf9\x90\x85\xda\x93!\xfe\x16L3X\
|
||||
&]\x11?7\xe4%\x99\xf9\x8a\xb1\xd03\x0b\x92}\
|
||||
\xf2\x8c\xfc\x83\xe4\xbf\x0b\xc8\xdb\x02\xd2\xee\x94\x82\x16\x0f\
|
||||
\x16\xf6.\xdb\x5cs-\xd8\x98\xfc\x1e_\xaa\xe1\xe0P\
|
||||
i\xb6\xe6\xf1`d\xe7\xaey\xcc\xe78\xabU\xc2\xec\
|
||||
\x90\xfd^\xcb\x80\x0a\xaeo\xc7 \x12\xef0\x8a\x04\xf7\
|
||||
\xa9\xe62<\xc3q\x0b\xb2\x10t\x19\x9b\xf9\x8f%q\
|
||||
\xd8\xef\xfd}b\x07c`A\xaf@\xc6$\x89\x22\xa6\
|
||||
\xc8\x9c\xaa\x0c\xa2\xc0\x7f\xad\xe8\x9a\x09\x16\xc7\x16\xe7\x98\
|
||||
\x87:#>\xe6\xcb\x90\x0a\x22$\x0df\xe6\xe7\x10&\
|
||||
\xd3\xd1\x93`\xe4\x00\xc5+\xb9\xb9Pl1\xac\x0fO\
|
||||
_\xadiH\x97L5\xccM\xa8>k\x9c\x94\x11\x0b\
|
||||
a\xd3\xa3\x80k\xa9\x86\xb1V<\x5c\x12}\x1b\xb1=\
|
||||
rM\x15B}\x89(\x90\xbeG\xe6R\x0a\xc2\xe3/\
|
||||
!\xdb\xd4\xd7\x9fE\xd4g\x1f\x19\xd5\xab\xda\x0e\xfe\x8a\
|
||||
\xf9W\xd3\xf9\xfb(\x00\x03\x8d\xab\xb4i\xaa\xf4Tn\
|
||||
Bd\xbe\x86\x9a\x18\x9cT\x9d\x0d\x84O\xe7S\xae\x98\
|
||||
\x0f\x94\xdfVf\x81\xc8\xe9<c'\x04\xc9\xbb\xd3\xec\
|
||||
\x06OB\x01\x11\x01\xe1.\x84=+5\x08\x0b\x13)\
|
||||
\xd8]\xe9[#\x22Cyp\xca\xe3\x5c\x9f\x8b$\xf4\
|
||||
\xd1\x8eH$\xa3D\x00\x0789\xb4\x0b\xc7\xf8{T\
|
||||
>\x15\x05>\x18}\x09\xa8\x80\xd0\xecF\xbf\xe6L\x04\
|
||||
3F\x95\xbf\xf2XH\xc1\x9e\x03\x00/,\xda\x18:\
|
||||
P\xe3'J\xc1\x19<\x09\x03\x86\xc7M\xc0B\x1f8\
|
||||
\xdbx\xe5\xf1\x02\x03\x0cI\xb1xe\xe8\x1b\x15\xc3`\
|
||||
\xd93\xa6\x09(\xd3]oN\xfd+B\x17\xe0g2\
|
||||
Lc-\x00&\x1c\x82\xf9\x82\x0c\x1d\xc4\x7f\xbf$\x07\
|
||||
\xe4\xa7\x9f\xdc\xd5~5Xp\xd8\x98\xf0|\x99\x84\xae\
|
||||
X\x8ch\x9a\xa8\x07\xae\x9a\x99\xb9\xab\xf8\x84\x5c\x0d\x0e\
|
||||
\x97\x8e\xe8\x8b\xfd\x05\x88\xb6,\x82\x85Td\x88\x02\xe5\
|
||||
\xb0\xdf\xc1\x0b\xf8\xf3kIS\x9e`\xe1R\xaf`\xf8\
|
||||
\xe7\x9fkT#\x16\x9a\x1c\x8a?\xc7\xf8\xc4?{8\
|
||||
\xe8iy*7LMh\xcc\xca\xfbe\x88\x01\x8b}\
|
||||
\xc5#Cw\x15\xbf4\xb7m\x99\xd8X\x0aZH\xc5\
|
||||
v\xf0\xb9\x0b\x19Ug\xe8\xe4\xa1/\x12\xd8qh\x97\
|
||||
\x1a\x91o\xdf\xca\xc4\xd5\xe6kbp\x05L\xc13\x86\
|
||||
\xc1\xd0a\xa8\xb2\xf5]M\x95\x86 8\xfc\x93\x15\x0d\
|
||||
\x97\x16-\xa3\xb7\xae\xe5\x1a`\x99 +\x13\x01\xbe\x82\
|
||||
\x05_\xe0\x90\xa5G\xc3\xd2\xb6dz\xd8hj#\xd7\
|
||||
\xa4\x9d\x05\xfe\xf6\xf2%I\x00h\xc1C\x16\xd4-\xb7\
|
||||
\xf0\xe5}\xf6\xf1f'o\xbe\x9cL+\x02a\xe0\x94\
|
||||
\xed\x22g,LZ\x8f\xfd\x1da\x22fU\x0aZ\x91\
|
||||
\x17\xe0_X\x8fSc\x8e\xc4Ng\xc6\xf1d\x9f>\
|
||||
\xb7;\xb0\x1af\xbb\x87+Q['QH\xff\x0a\xb9\
|
||||
\x1bj\xb9\x5c\x0a\xe6\xd0\x89\x0ak\x18\xc6\x0f\x86\x8e\xd7\
|
||||
\x5c\xb0n\xc1\x18!\x9a8\xd1\x0f\x16BN\x1fyg\
|
||||
\xba\x81\x88\xcc\x96\x10\xb8\xb6h\xa7Q\xb7-\x0c\xb8f\
|
||||
\xd1I\x7f\x1d\xb4\x8d\xfc\x86E\xdb\xa9\xaf\x18f\x9b\xde\
|
||||
\xe6Rk\xb9>\x09\x17\xf2\x15\xd8\xc1\x1a\x92\x22\xc8L\
|
||||
\xf6H\xfa\xe3\x12\xb2\x0fGg\x05\xf8)\x9d\x83\xe1\xa1\
|
||||
\xb5\xc0f)x\x01\x17C\x1a\x06No\xd8\xb6\x8e\x0f\
|
||||
\xfe\x8e\x0c6T\x85\x10\xb6\x06c\x97\xab\xea&\xbe\x14\
|
||||
\x10\x02^\x92,\xad\xb6\x03\xc3\xfc\xf1\x1d\x0b*\xc7u\
|
||||
\xae\x18\xbd\xaa\xee\xc6a\xc1\x9d\xb7\x82\xe0\xc3\x96\x0aB\
|
||||
b\xd0\xb9C\xab|\xd1>\xde\xb0\x90)*l\x92_\
|
||||
\x16\xc9\x9eM\x96sq;\x22\x0a\x0cx\x8a\xeb\x95\xb0\
|
||||
\x0ay\xe3S\x1b\x82Y\x19\xed\x00\xffnY\xb5I\x83\
|
||||
. \xb2\xd1\xee\xefM\x02h\xe0\xb3\xfc\x11\xb2\xb5\xdd\
|
||||
\xf8,\x10\xfb\xb3Z\xc2\xe9\xe4\xb6\xbev;\xc3%\xd8\
|
||||
\xbe<\xbfwR\xe3\x0e\xb6\xf7\x08M\xb4l`\xdeY\
|
||||
\xa1?\xff.Z\xa7\x08\x1awh\x97\x82\x0b\x8eT\xdb\
|
||||
\x11\xc0\xc0\x87n\xf0F\xb9YQ\x9d\xa5\x1b\x97\x83\x03\
|
||||
\x14\xa6U\xd1\x17\xb3\xa6.\xcc\xca\xc5\x92{\xd14\x0c\
|
||||
\xa8\x0a^%p|C\xa8\xea\xec\xf2\xde\x84\x86>\x13\
|
||||
\xe4[\xf6\xfc\x1f\x16\x97\xd1dx\xe8\xfb,\xaa\x16\xc3\
|
||||
\xe9\x8aM\xd5O\xd3\xd9\xee\xc1\x8a#\x90\xad\xdc\xe45\
|
||||
\x8c\xa9\xeb\x0ai\x7f_\x8e1*\x17{5\xe6\x8c\x95\
|
||||
\xa2\xefE%Il\x0c\x88\xf8\x81\x1a\x1b\x8d\xe0\xbd\x12\
|
||||
G7\xe0G!\x92\x89\xdb\xe1`\xa5u\x14\x8f\xf7\xf7\
|
||||
\x97P\xa1'sp\xb5\xeb\xfdC(\x06>\xc0,\xbb\
|
||||
\xdd\xcf;\x05/\xb6\xa5\xa2\xbb(\x22\xf5_\xf76\xa8\
|
||||
\xb7W\x8d{6ov\x8e\x95ny\xd5\x9b1\x19B\
|
||||
\xc9\x8e\x8d\x18\xdbYI;,\xa3J\x8b\xa5\x00K\xbb\
|
||||
*Y{%\x05l!?\x0foB\xc6\xecB\x0a\xee\
|
||||
\xc3J\x17P\xe8F\xde\xb9<\x04\xd5Np\xa2\x1f\x9b\
|
||||
\x85\x05Y\x8b*cM\xa4H\xd6\xa1\xed]U\xd5\x0d\
|
||||
\xc0+\xa9bo\xc1\x05\xd0e\xb9p!L`m\xb2\
|
||||
\x12\xcc\x1d\xb2>\xd1Q\x88\x95,\x96\xaf\xa6\x5c\x93\x0b\
|
||||
\xfb\x9bm\x08X \x9dC\xfc\x1e\x0fF\xf5%,M\
|
||||
\x9e\x8d\xe2gT-y8&O\x9f\xd7\x01\x17\x12\x84\
|
||||
\x1bI\x1eB\x22\xfe\x07\x03\x98g\xadV\x86\x9f\xcb,\
|
||||
\x09n\xa2\x1b\x15n\x9a\x1a\xe7@j+M(\x90\x8f\
|
||||
\xb6WW\xcf\xdb\xcc\xa9\x17\xd4g+)\xc0\xdb\x5c\x96\
|
||||
$\x81\x8b\x0e:\xcb\xb1^\xa7\xdbv]r2M\xa2\
|
||||
\xd6\xe1\xd30/m6\xed\xb4?c\xe6JU\x82m\
|
||||
\xf2\x0d.\xa0|\x00\x1f\x006\x00\x96F(\x89\xe95\
|
||||
\x03a#S\x9e\xe7\x0dJE<&\xbeP\xab\x8cK\
|
||||
[y3\x80\xc6\xc7\x02\x0c\xb5\x0f#`\x0c`\x9c\x9f\
|
||||
\x06\x87P\x81pXq\xe8\x81{\x1e\x0d>\xf7d\xbe\
|
||||
\xe8)\xa5e\x22nr/\xee\xd3\xdeSO\xee\xaf\xa9\
|
||||
\xe0\x01\x01R\xbd\xe5\x1f\x84Z\xda{\x88\xe1mZC\
|
||||
l\x17\xc3\xdfw\x93C\xd19\xeb'\x87\xc3y\xe5\x84\
|
||||
\xa3\x08(\x0e\x96%\x90\x83_T\xdcn\xb7/\x10l\
|
||||
\xa1/h\x10@\xc2\x0f\xe7\xef\xa0ZS8S\xc5\xe4\
|
||||
\x8aa8\x1e\x13\xacn\xa0B\xa9q\x08\x04j\x19\xbd\
|
||||
\xc26\xaf;\x83\x08\x8d^\xa7\xdc\x9eFy\x0cFU\
|
||||
\xd4\x0c\xfd\x04\x22R\xd3\x12\x85\xf3\x1a\x80\xcb'\xd3\xd4\
|
||||
C\xb9\x9av\x8a\xc4p\x02\xce\xf9\xcah\xa8\x14*\xd2\
|
||||
L\xe9\xae\x8et\xf7\x00\x92N!\x81\xd9\x91\xa6J\xcb\
|
||||
z\x17\x82f\x0c{\xd2\x1a\x8a\xa6\xaf\xf7\x22\xba8d\
|
||||
Yi\xdc\xc9\xdc\x89\xbd7\xc9\xd8\xeb\xc1[\xf9\x04?\
|
||||
\xb2\xc0\x0b\xf7\xd8\x8b\xf6\xa3\x9b]i/\xfb\xdev\xda\
|
||||
\x8d\xc7\xb3u\xff\xb8\xa9\xc5\xf1\xdd\xf5W\xedBtK\
|
||||
\x01\x80\xc9%]\xc6=\xed\xb2|]\xf2\xff\xc8|\xb9\
|
||||
\x01\xd4\xc98z\xf9\x5c\xf9\xe4\xb5\x89\x91=dP\xbb\
|
||||
\x5cyl!\xf4p)x\xcb\xc5\xc0\x9b\xfb\xac\xaf\xd6\
|
||||
\xec\xbd\xd8#{\xb6\xa3\x1b\xae{\xecooK=\x93\
|
||||
\x15\xf7\xa3\xe1\xaeo\xf0@\x85\xc7yknKp\xb1\
|
||||
=\xbc\xfb\x85\x974\xc7\x9cu\xec\xd5G\xe9n\xa4\xea\
|
||||
\x15\x0b\xdc[\xc8'\x96\x82'{\xe4\xd3\xe7=\x93\xc8\
|
||||
>\xae\xf7t:\xe3\x0f\xe6\x11\x89\xf6\x1e\xcc\xa5\xd9\xa7\
|
||||
\x85\xcd{Y\x8dk\x15x=K\xd2\xfb\xd9\x07\xe5\x1e\
|
||||
\x13\xbc\xcd%\xef\x18\xc6\x88\x1e,7C\x98\xaa\xb0\xe5\
|
||||
\xd6x\x0b\xff\x0f\x11I\x9eX\xf68G\xc7LD\x8f\
|
||||
(\xbcFLo\xbe{H\xabzU\xfe\xbf\xcc\x89\
|
||||
r\xaf+\xff\x0bN\x9f\x1c\xcb5,\xb8\xec\x9304\
|
||||
6^\x9ed\x8d\x17H\xc8\xe3k\xd3m1\xcd\x97'\
|
||||
\x8f\xed\x9f\xa7\xd2O\xd6\x90\xf3\x9b77\x1eLm\xd1\
|
||||
\x1b\xf2\xd2\x8e\x11\x97Y\x97\xe8\xd1I\x9f\xc1\x11\x80\xa3\
|
||||
d\xeb\xb9s\xd9\xcfF\xba\xe9\xefls\xed\xcf\x85\x9c\
|
||||
\xef\xafi\x0cx\xfb\x93\xe3\xc3\xf37G\xa7o\xdfx\
|
||||
\xeb\xe0\xc9_ai\xd6\x87\x90\x938N\xd8w\xe6\x9b\
|
||||
\xe3\x1e\xf1_\xc2\xa5\xa9n\x1f\xe4(K\xa5\xb0\xd3\xe5\
|
||||
\xbe\x97\xa3ld{!\xc1\xf6\xa0\xdcml\x9a\xa1\xd3\
|
||||
\xac\x5cX\xb9\x00\xb6\xcb\xc5o\x98h\xeer9%x\
|
||||
\xa5K\xa6\xb0\xdf\xd86Y)\xd1\x9f\xb7P\xffNn\
|
||||
\xee\xdb%\x8c!\xfe4\x94\xff\xdb\xda\x8f\xa5\x86\xdb\x9a\
|
||||
\xde\xf0u\xb2N{n\xcf\x9e\x1f4\x99Jgc/\
|
||||
o(\xb8W\xe0\xcd\x80\xe9\xae\x91I\x8d\x15\x0b\x8e\xd3\
|
||||
\xd7\xf0\xfe\xf9\xafNx-\xa3\xacO\xf9\xfc\xfe\xf9N\
|
||||
[\x8f\xb1\x19\xba\xa5\xd3h\xb9\x1b\x8c\xdaN\x04\xc2\xa6\
|
||||
oqt\x9e\x8a\x967\x97\xb6\x1f\x88\xfa\xa0c@-\
|
||||
\xac\xa7omtQ\x84J\xcc\xde\xeeh\x87\xea\xdb\xa8\
|
||||
m\x80\xcf\x94\xdd\x8d\xb0\x02 \x81\x80g\xf2\x9aM\x13\
|
||||
e\xe2\xe2\x98\x1c\xb4c\xf8\x82G\xdbV]@\x94\x8d\
|
||||
\xb7\x01\xcd|%\x85xE\x95w\xcd\x94\xe6>^\x1a\
|
||||
\xe4\xefBv\xd2:\x860\xe8k\xd0\xba`\xe4+1\
|
||||
\xf7\xe1\xe3\xe2:\x9c\xfa>\x1c\xdd\x17D\xd1\x80#\x15\
|
||||
\xcf\xc9]\xfb\x9a\xe0TKo\xd6\x14\xa6\xd4\xf0~P\
|
||||
\xc7*\x01D\xe5%\xec?&]>\xbe\xaa\xfai\x8a\
|
||||
\xd5\x0d\x9d\xbeL\x9b\xd9\x94w\x8d_f\xb0\x1b/{\
|
||||
\xe7\xf6\xd9A7\x5c\xea\xc6m\x00\xc2\xa6\xee]7\xfc\
|
||||
\x99Lb\x06Q\x93nc\xb3\x9fS\xdd\x12\xe9\xda\xde\
|
||||
\xe9\xe3\xee\xcb|=\x0ft\x8f\xa95\xbe\xacd\xc5m\
|
||||
\xde[\xea\xabL\x03\xbc\xf3\x8ewm.$?\x1c\xdb\
|
||||
|H\xe7\x89\xd9\xd9\x1dP_\xf3k\xd6\x05u\x8f\x02\
|
||||
\xabgp\xa4p\xb6C\xcc\xcd\xed\x0b\xd6\xf8t\x0a\xc9\
|
||||
\x00\xf9\x96?^\xca\xa8\xf3.\xab\x9b\xc7\xfe\x01\xe9\x92\
|
||||
\xce;$o\xc2\xaf\x81x\x8c\xc0\x87{\x99\x9b\xce.\
|
||||
E\x97\xaf!g'o\xce\x0fO\x07\xa3\x1d\x0dj\xe7\
|
||||
}^\x9f\x9c^\x1e\xbd\x9b\x0d\x1e\x18.g\x9a\xfaW\
|
||||
\xed\xba7\x11\xa5t\xb43\xd1\xb6\xbc\x81\xdc\xcfl\x8e\
|
||||
'\xcc\xdc\xd5\x16\x96\xf3\xc1\x8elU\xd8\xf6S\xb2\x9b\
|
||||
v\xb7\x85\x03\xdb\xd4\xa9^R\xb5Y]\x9cC?\x9e\
|
||||
\xa3\xd9F\xa1\xbd\xe2\xebK\xe1\x22\x87\xbe\x0f\x85;\x15\
|
||||
$\xe9\x1f\xf8\xff'\xb7x\xdf\xfa\
|
||||
\x003\x15x\xda\xcd\x1a\xdbn\xdb8\xf6}\x80\xf9\x07\
|
||||
\xae\x1f\xa6\xf6NVI\xbb(\xb0\xebN\x17H\xed\xa4\
|
||||
\x09\x90\xa4\x99:m\xb1(\x8a\x82\x96h\x9b\x1bZ\xd4\
|
||||
PT\x9cL\x9b\x7f\xdfsH\xdd\xa8\x9b\xe5$\xb3\xb3\
|
||||
n\xe1X\xe4!y\xee7\x8a\xaf#\xa94\xf9U\xff\
|
||||
\x9ap\xff\xfa\xc7\x1f\xb8\xf3\xec}\xe2a 7\xb5\xe1\
|
||||
\x89\x0c\xb5\x92\x22n\x9d\xf0\xce\xa9f\x8aSQ\x838\
|
||||
\xa3w2\xd1\xf5\x95S\x00\x96K\x18\xc7\x7f\xf6X\xf2\
|
||||
\xed\xc7\x1f\x08|x0&\x9b\x14\x11|\xde\xf0@\xaf\
|
||||
\xc6\xe4\xf9\xf3\x83\x03;\xb0b|\xb9\xd2c\xf2\x0f\x1c\
|
||||
\xb0C\x13\x09\xdb\x87,\xd4\x9e\x0c\xf1\xb7`\x9a\xc16\
|
||||
\xe9\x8e\xf8\xb9%\xaf\xc9\xccW\x8c\x85\x9e\xd9\x90\xec\x93\
|
||||
\x17\xe4o$\xff]@\xde\x15\x90\xf6\xa4\x14\xb4x\xb0\
|
||||
\xb0\xf7\xd9\xe1\x9ak\xc1\xc6\xe4\xb7\xf8J\x0d\x07\x87J\
|
||||
\xb35\x8f\x07#;w\xc3c>\xc7Y\xad\x12f\x87\
|
||||
\xec\xf7Z\x06Tp}7\x06\x96x\x87Q$\xb8O\
|
||||
5\x97\xe19\x8e[\x90\x85\xa0\xcb\xd8\xcc\x7f*\xb1\xc3\
|
||||
~\xef\xef\x13;\x18\x03\x09z\x05<&I\x141E\
|
||||
\xe6Te\x10\xc5\xfacE\xd7L\xb08\xb6kNx\
|
||||
\xa83\xe4c\xbe\x0c\xa9 B\xd2`f~\x0ea2\
|
||||
\x1d=\x0dF\x0eP\xbc\x92\x9bK\xc5\x16\xc3\xfa\xf0\xf4\
|
||||
\xcd\x9a\x86t\xc9T\xc3\xdc\x84\xea\xf3\xc6I\x19\xb1\x10\
|
||||
\x0e=\x0a\xb8\x96j\x18k\xc5\xc3%\xd1w\x11\xdb#\
|
||||
7T!\xd4\xd7\x88\x02\xea{d.\xa5 <\xfe\x1a\
|
||||
\xb2M}\xffYD}\xf6\x89Q\xbd\xaa\x9d\xe0\xaf\x98\
|
||||
\x7f},\xd5\x87(\x00\x0d\xadL&fp:o\x1c\
|
||||
N\xe5\xd8\x80\xf1t>\xe5\x8a\xf9\x80\xf2]e\x16\xb0\
|
||||
\x83\xddR:B`\xb9;\xcdn\xd1\x04\x0a\x88\x080\
|
||||
v!\xac\x91\xd4 ,L\xa4\xe0t\xa5\xef\x0coP\
|
||||
^,8\xe3q.\xc8E\x12\xfa\xa8@$\x92Q\x22\
|
||||
\x80\x02\x9c\x1c\xda\x8dc\xfc=*\x9bC\xb1\x1e\xb4\xbd\
|
||||
\x04T@hv\xab\x8f9\x13\xc1\x8cQ\xe5\xaf<\x16\
|
||||
RP\xe4\x00\xc0\x0bU6\x1a\x0e\xd8\xf8\x89R`|\
|
||||
\xa7a\xc0\xd0\xce\x04l\xf4\x91\xb3\x8dW\x1e/V\x80\
|
||||
\x06)\x16\xaf\x0c~\xa3b\x18Tz\xc64\x01)\xba\
|
||||
\xfb\xcd\xa9\x7fM\xe8\x02\x1cL\xb6\xd2\xa8\x09\x80\x09\x07\
|
||||
a\xbe Cg\xe1\xbf^\x93\x03\xf2\xd3O\xeen\xbf\
|
||||
\x98U`eLx\xbeLB\x97-\x865M\xd8\x03\
|
||||
U\xcd\xc4\xdcW\x9cA.\x06\x87J\x87\xf5\xc5\xf9\x02\
|
||||
X[f\xc1B*2D\x86r8\xef\xe0\x15\xfc\xf9\
|
||||
\xa5$)O\xb0p\xa9W0\xfc\xf3\xcf5\xacq\x15\
|
||||
\xaa\x1c\xb2?_\xf1\x99\x7f\xf1p\xd0\xd3\xf2Ln\x98\
|
||||
\x9a\xd0\x98\x95\xcf\xcb\x16\x06,\xf6\x15\x8f\x0c\xde\xd5\xf5\
|
||||
\xa5\xb9m\xdb\xc4FSPC*\xba\x83\xcf]\x8bQ\
|
||||
t\x06O\x1e\xfa\x22\x81\x13\x87v\xab\x11\xf9\xfe\xbd\x8c\
|
||||
\x5cm\xbe\xc6\x06\x97\xc1\x14\x5cb\x18\x0c\x1d\x82*G\
|
||||
\xdf\xd7Di\x10\x02\xe3\x9f\xach\xb8\xb4\xcb2|\xeb\
|
||||
R\xae\x01\x96\x11\xb2<\x11\xe0+X\xf0\x15\x8c,5\
|
||||
\x0d\x8b\xdb\x92\xe9a\xa3\xaa\x8d\x5c\x95v6\xf8\xcb\xeb\
|
||||
\xd7$\x01\xa0\x05\x0fYP\xd7\xdc\xc2\x89\xf79\xc7\x9b\
|
||||
\x9d\xbe\xfdz:\xad0\x84\x817\xb6\x9b\x9c\xb30i\
|
||||
5\xfb{\xc2D\xcc\xaa\x18\xb4.^\x80\x7fa=\xac\
|
||||
\xc6\x98\xc4N6\xe3x\xb2\xcf_\xda\x1dXme\xbb\
|
||||
\x87+a[GQH\xff\x1a\xa9\x1bj\xb9\x5c\x0a\xe6\
|
||||
\xe0\x89\x02k\x18\xc6\x0f\x86\x8ec.X7c\x0c\x13\
|
||||
M\x9c\xe8\x07\x0b!\xa7\x0f\xbf3\xd9@(fK\x08\
|
||||
\x5c[\xa4\xd3(\xdb\x16\x02\x5c\xb5\xe8\xc4\xbf\x0e\xda\x86\
|
||||
~\xc3\xa6\xed\xd8W\x14\xb3Mns\xa9\xb5\x5c\x9f\x86\
|
||||
\x0b\xf9\x06\xf4`\x0d\xd9\x10\xa4${$\xfdq\x05i\
|
||||
\x87#\xb3\x02\xfc\x8c\xceA\xf1P[\xe0\xb0\x14\xbc\x80\
|
||||
\x8b!\xff\x02\xa77l\xdb\xc7\x07\x7fG\x06\x1b\xaaB\
|
||||
\x08[\x83\xb1KU\xf5\x10_\x0a\x08\x01\xafI\x96O\
|
||||
\xdb\x81a\xfe\xf8\x9e\x05\x15s\x9d+F\xaf\xab\xa7q\
|
||||
\xd8p\xe7\xa3 \xf8\xb0\xa5\x82\x90\x18t\x9e\xd0\xca_\
|
||||
\xd4\x8f\xb7,d\x8a\x0a\x9b\xdd\x97Y\xb2g\xb3\xe4\x9c\
|
||||
\xdd\x0e\x8b\x02\x03\x9e\xae\xf5J\xab\x0a~\xe3S\xdb\x02\
|
||||
\xb33\xea\x01\xfe\xdd\xb2k\x93\x04]@$\xa3\xdd\xdf\
|
||||
\x9b\x04\xd0\xc0O\xe5&D\xdf\x03\xd9\xdant\x16\x0b\
|
||||
\xfb\x93ZZ\xd3Im}\xefv\x82K\xb0}i\xfe\
|
||||
\xe0\xa4\xc6\x1dd\xef\x11\x9ah\xd9@\xbc\xb3C\x7f\xfa\
|
||||
\xdde\x9d,h<\xa1\x9d\x0b.8bmG`\x05\
|
||||
>t\x837\xf2\xcd\xb2\xea<=\xb8\x1c\x1c\xa0\x22\xad\
|
||||
\xb2\xbe\x985\x05aV'\x96\xdc\x8b\xa6a@U\xf0\
|
||||
&\x01\xf3\x0d\xa1\x9c\xb3\xdb{\x13\x1a\xfaL\x90\xef\xd9\
|
||||
\xf3\xbfY\x5c^&\xc3C\xdfgQ\xb5\x0a\xc6O\xb5\
|
||||
\xeci2\xea\x1e48\x9c\xd8JF^\xbc\x98J\xae\
|
||||
`\xf3\x1fK*\x86\xe3\xe2\xac\xc6d\xb1R\xed\xbd\xaa\
|
||||
d\x87\x8d\x91\x10?PU\xa3\xf4?(qt\x0b\x0e\
|
||||
\x14B\x98\xb8\x1b\x0eVZG\xf1x\x7f\x7f\x095y\
|
||||
2\x07\x1f\xbb\xde?\x84*\xe0#\xcc\xb2\xbb\xfd\xbc7\
|
||||
\xf0j[\x0e\xba\x8b R\xc7\xf5`Mzw\xddx\
|
||||
f\xf3a\x17X\xe2\x96w\xbd\x1d\x93!\x14\xe9\xd8z\
|
||||
\xb1\xbd\x94\xb4\xa72\xaa4U\x0a\xb0\xb4\x8f\x925T\
|
||||
R\xc0\x16\xf4\xf3\xb8&d\xcc.\xa5\xe0>\xect\x09\
|
||||
\x15n\xe4]\xc8C\x10\xed\x04'\xfa\x91Yh\x90\xd5\
|
||||
\xa8\xf2\xaa\x89\x14\xc9:\xb4\xdd\xaa\xaa\xb8\x01x%U\
|
||||
\xec-\xb8\x00\xbc,\x15.\x84\x89\xa8MZ\x82IC\
|
||||
\xd6\x19:\x0a\xb1\x84\xc5\xba\xd5\xd4ira\x7f\xb3\x0d\
|
||||
\x01\x0d\xa4s\x08\xdc\xe3\xc1\xa8\xbe\x85\xc5\xc9\xb3\xe1\xfb\
|
||||
\x9c\xaa%\x0f\xc7\xe4\xf9\xcb:\xe0B\x02s#\xc9C\
|
||||
\xc8\xc0\x7fg\x00\xf3\xa2U\xcb\xf0s\x95e\xbfMx\
|
||||
\xa3\xc0M7\xe3\x02Pm\xc5\x09\x19\xf2\xc9v\xe7\xea\
|
||||
\x09\x9b\xb1zA}\xb6\x92\x22`\xea\xaa\xc4\x09\xdct\
|
||||
\xd0Y\x87\xf5\xb2n\xdbn\xc9\xd14\x19Z\x87O\xc3\
|
||||
\x84\xb4Y\xb5\xd3\xc6\x8c\x99+\x95\x07\xb6\xad7\xb8\x84\
|
||||
\xba\x01|\x00\xe8\x00h\x1a\xa1$\xa67\x0c\x98\x8dD\
|
||||
y\x9e7(U\xef\x98\xf1B\x912.\x1d\xe5\xcd\x00\
|
||||
\x1a\x1f\x0b0\x94>\x8c\x802\x80r~\x1e\x1cB\xe9\
|
||||
\xc1a\xc7\xa1\xa7\xa9\x1a\x0d\xbe\xf4$\xbeh&\xa5\xf5\
|
||||
!\x1e\xf2 \xea\xd3\xa6SO\xeao\xa8\xe0\x01\x01T\
|
||||
\xbd\xe5\xef\x84Z\xdc{\xb0\xe1]Z<lg\xc3_\
|
||||
w\xe3C\xd12\xeb\xc7\x87\xc3y\xc5\xc2\x91\x05\x14\x07\
|
||||
\xcb\x1c\xc8\xc1/+n\xb7\xdb\x17\x08\xb6\xd0\x974\x08\
|
||||
\xd3\x07\xfb;\xa8\x16\x13\xceT1\xb9bP\xc1\xaa\
|
||||
1\xc1\xb2\x06J\x93\x1a\x85\x80\xa0\x96\xd1\x1bl\xec\xba\
|
||||
3\xb8\xa0\xd1\xeb\x94\x1b\xd2\xc8\x8f\xc1\xa8\xba4[~\
|
||||
\x0a\x11\xa9i\x8b\xc2y\x0d\xc0\xe5\x93i\xea\xa1\x5cI\
|
||||
;\xd5a8\x01\xe7|m$T\x0a\x15i\x8at_\
|
||||
_t\xff\x08\x94\xce w\xda\x11\xa7J\x93z\x17\x84\
|
||||
f\x0c\xbb\xd0\x1a\xaa\xa5o\x0fB\xba0\xb2\xac&\xee\
|
||||
$\xee\xd4\xde\x94d\xe4\xf5\xa0\xadl\xc1O\xcc\xf0\xc2\
|
||||
=\xf6\xc2\xfd\xe8vW\xdc\xcb\xbe\xb7\x1dw\xe3\xf1l\
|
||||
\xc1?n\xeam\xfc\xe1\xf2\xab\xb6\x1f\xba\xb9\x00\xc0\xe4\
|
||||
\x8a.\xe3\x9ezY\xbe \xf9\x7f$\xbe\xdc\xf9\xe9$\
|
||||
\x1c\xbd|.|rlbd\x0f\x1e\xd4nU\x9e\x9a\
|
||||
\x09=\x5c\x0a\xdek1\xf0\xe6>\xeb+5{\x13\xf6\
|
||||
\xc4\x9e\xed\xe8\x96\xeb\x1e\xe7\xdb\xfbQ\xcfd\xc5\xfdp\
|
||||
\xb8\xef\x1b<P\xe0q\xde\x93\xdb\x12\x5cl\xf3\xeea\
|
||||
\xe1%\xcd1g\x1dg\xf5\x11\xba\x1b\xa9z\xc5\x02\xf7\
|
||||
\xde\xf1\x99\xc5\xe0\xd9\x1e\xf9\xfce\xcf$\xb2O\xeb=\
|
||||
\x9d\x96\xf8\xa3iD\xa4\xbdGSi\xcei!\xf3A\
|
||||
Z\xe3j\x05^\xc8\x92\xf4F\xf6Q\xb9\xc7\x04\xefo\
|
||||
\xc9{\x861\xa2\x07\xc9\xcd\x10\xa6*l\xb9'\xdeB\
|
||||
\xffcX\x92'\x96=\xec\xe8\x84\x89\xe8\x09\x18\x85\xf7\
|
||||
\x87\xb6\xd7\xd1\xc7\x89U/\xc7\xff\x979Q\xeeu\xe5\
|
||||
\x7f\xc0\xe9\x93\x13\xb9\x86\x0d\x97}\x12\x86\xc6\xc6\xcb\xb3\
|
||||
\xac\xf1\x02\x09y|c\xba-\xa6\xf9\xf2\xec\xa9\xfd\xf3\
|
||||
T\xfa\xc9\x1ar~\xf3\xae\xc6\xa3\xb1-zC^\xda\
|
||||
1\xe22\xeb\x12=9\xea30\x010%[\xcf]\
|
||||
\xc8~:\xd2\x8d\x7fg\x9bk\x7f.\xe4|\x7fMc\
|
||||
X\xb7?99\xbcx{t\xf6\xee\xad\xb7\x0e\x9e\xfd\
|
||||
\x19\x9af}\x089\x8d\xe3\x84\xfd\xc1ts<#\xfe\
|
||||
S\xa84\xd5\xed\xa3\x1ce\xa9\x14v\xda\xdb\x0fr\x94\
|
||||
\x8dd/$\xe8\x1e\x94\xbb\x8dM3t\x9a\x95\x9b*\
|
||||
\x17\xc0v\xb9\xf8-\x13\xcd].\xa7\x04\xaft\xc9\x14\
|
||||
\xf6\x1b\xdb&+%\xfa\xcb\x16\xec\xdf\xcb\xcdC\xbb\x84\
|
||||
1\xc4\x9f\x86\xf2\x7f[\xfb\xb1\xd4p[\xd3[\xbeN\
|
||||
\xd6i\xcf\xed\xc5\xcb\x83&U\xe9l\xec\xe5\x0d\x05\xf7\
|
||||
\xee\xbb\x190=52\xa9\xb1b\xc1I\xfa\xe2\xdd\xdf\
|
||||
\xff\xd9\x09\xafe\x94\xf5)_><\xdfi\xeb16\
|
||||
C\xb7t\x1a-u\x83Q\x9bE l\xfa\xfaF\xa7\
|
||||
U\xb4\xbc\xb2\xb4\xdd \xea\x83\x8e\x02\xb5\x90\x9e\xbe\xae\
|
||||
\xd1\x85\x11\x0a1{\xad\xa3\x1d\xaao\xa3\xb6\x01>\x13\
|
||||
v\xf7\x82\x15\x00\x09\x04<\x977l\x9a(\x13\x17\xc7\
|
||||
\xe4\xa0}\x85/x\xb4m\xd7\x05D\xd9x\x1b\xd0\xcc\
|
||||
WR\x887Ty7Li\xee\xe3\xa5A\xfe\xf6c\
|
||||
'\xaec\x08\x83\xbe\x06\xa9\x0bF\xbe\x11s\x11>.\
|
||||
\xee\xc1\xa9\xef\x83\xe9\xbe\x22\x8a\x06\x1c\xb1xI\xee\xdb\
|
||||
\xf7\x04\xa7Zz\xa5\xa6P\xa5\x86\x17\x83:v\x09 \
|
||||
*/\xe1\xfc1\xe9\xf2\xf1U\xd1O\xd3U\xdd\xd0\xe9\
|
||||
\xeb\xb3\x99Ny7\xf8e\x06\xbb\xd7eo\xd9\xbe8\
|
||||
\xe8\x86K\xdd\xb8\x0d@\xd8\xd4\xbd\xef\x86?\x97I\xcc\
|
||||
j\xd2md\xf6s\xaa[\x22]\xdb\xcb|\xdc}\
|
||||
\x8b\xaf\xa7A\xf7\x98Z\xe3[J\x96\xdd\xe6\x85\xa5\xbe\
|
||||
\xc24\xc0;\x9fx\xdf\xe6Br\xe3\xd8\xe6C:-\
|
||||
fgw@}\xcdoX\x17\xd4\x03\x0a\xac\x9e\xc1\x91\
|
||||
\x82m\x87\x98\x9b\xdbW\xaa\xf1\xe9\x0c\x92\x01\xf2=\x7f\
|
||||
\xbc\x92Q\xe7]V7\x8d\xfd\x03\xd2\x15\x9dwp\xde\
|
||||
\x84_\x03\xf1\x14\x81\x0f\xcf27\x9d]\x82._C\
|
||||
\xceN\xdf^\x1c\x9e\x0dF;*\xd4\xce\xe7\x1c\x9f\x9e\
|
||||
]\x1d\xbd\x9f\x0d\x1e\x19.g\x9a\xfa\xd7\xed\xb27\x11\
|
||||
\xa5d\xda\x19k[^=\xee\xa76'\x13f\xeej\
|
||||
\x0b\xcd\xf9hG\xb6\x0al\xbb\x95\xec&\xddm\xe1\xc0\
|
||||
6u\xaa\x97TmZ\x17\xe7\xd0O\xe7h\xb6ah\
|
||||
\xaf\xf8\xfab\xb8\xc8\xa1\x1f\x82\xe1N\x05I\xfa\x07\xfe\
|
||||
\xff\x17E\xda\xd9\xee\
|
||||
\x00\x00\x08k\
|
||||
\x00\
|
||||
\x00r]x\xda\xed\x5cms\x9b\xb8\x1a\xfd\xde\x99\xfe\
|
||||
@@ -7295,47 +7295,47 @@ qt_resource_struct = b"\
|
||||
\x00\x00\x01\x8f\xff^8P\
|
||||
\x00\x00\x01\x0e\x00\x00\x00\x00\x00\x01\x00\x01\x16\xe5\
|
||||
\x00\x00\x01\x8f\xff^8P\
|
||||
\x00\x00\x03\xb0\x00\x01\x00\x00\x00\x01\x00\x01Q\xb0\
|
||||
\x00\x00\x03\xb0\x00\x01\x00\x00\x00\x01\x00\x01Q\xac\
|
||||
\x00\x00\x01\x8f\xff^8_\
|
||||
\x00\x00\x04\x22\x00\x01\x00\x00\x00\x01\x00\x01[\xa5\
|
||||
\x00\x00\x04\x22\x00\x01\x00\x00\x00\x01\x00\x01[\xa1\
|
||||
\x00\x00\x01\x8f\xff^8P\
|
||||
\x00\x00\x03\xe6\x00\x01\x00\x00\x00\x01\x00\x01T\xcd\
|
||||
\x00\x00\x03\xe6\x00\x01\x00\x00\x00\x01\x00\x01T\xc9\
|
||||
\x00\x00\x01\x8f\xff^8P\
|
||||
\x00\x00\x03\x12\x00\x01\x00\x00\x00\x01\x00\x019\x8e\
|
||||
\x00\x00\x01\x8f\xff^8P\
|
||||
\x00\x00\x03<\x00\x01\x00\x00\x00\x01\x00\x01>\xe2\
|
||||
\x00\x00\x01\x90\x11\x9a\x93$\
|
||||
\x00\x00\x05\xa8\x00\x00\x00\x00\x00\x01\x00\x01\xa0\xaf\
|
||||
\x00\x00\x01\x90\x11\xc7\x00\xf9\
|
||||
\x00\x00\x05\xa8\x00\x00\x00\x00\x00\x01\x00\x01\xa0\xab\
|
||||
\x00\x00\x01\x8f\xff^8P\
|
||||
\x00\x00\x03r\x00\x01\x00\x00\x00\x01\x00\x01IA\
|
||||
\x00\x00\x03r\x00\x01\x00\x00\x00\x01\x00\x01I=\
|
||||
\x00\x00\x01\x8f\xff^8_\
|
||||
\x00\x00\x05\x86\x00\x00\x00\x00\x00\x01\x00\x01\x99{\
|
||||
\x00\x00\x01\x90\x11U\xb4\x08\
|
||||
\x00\x00\x05\x86\x00\x00\x00\x00\x00\x01\x00\x01\x99w\
|
||||
\x00\x00\x01\x90\x11\xad[\xc5\
|
||||
\x00\x00\x03X\x00\x02\x00\x00\x00\x04\x00\x00\x00+\
|
||||
\x00\x00\x00\x00\x00\x00\x00\x00\
|
||||
\x00\x00\x04\xc4\x00\x01\x00\x00\x00\x01\x00\x01vI\
|
||||
\x00\x00\x01\x90\x11U\xb4\x08\
|
||||
\x00\x00\x05d\x00\x01\x00\x00\x00\x01\x00\x01\x8f_\
|
||||
\x00\x00\x04\xc4\x00\x01\x00\x00\x00\x01\x00\x01vE\
|
||||
\x00\x00\x01\x90\x11\xad[\xc5\
|
||||
\x00\x00\x05d\x00\x01\x00\x00\x00\x01\x00\x01\x8f[\
|
||||
\x00\x00\x01\x90\x01\x93J\xb0\
|
||||
\x00\x00\x04\xe6\x00\x01\x00\x00\x00\x01\x00\x01\x7fA\
|
||||
\x00\x00\x04\xe6\x00\x01\x00\x00\x00\x01\x00\x01\x7f=\
|
||||
\x00\x00\x01\x8f\xff^8P\
|
||||
\x00\x00\x04H\x00\x01\x00\x00\x00\x01\x00\x01b1\
|
||||
\x00\x00\x01\x90\x11U\xb4\x08\
|
||||
\x00\x00\x04v\x00\x00\x00\x00\x00\x01\x00\x01nV\
|
||||
\x00\x00\x04H\x00\x01\x00\x00\x00\x01\x00\x01b-\
|
||||
\x00\x00\x01\x90\x11\xad[\xc5\
|
||||
\x00\x00\x04v\x00\x00\x00\x00\x00\x01\x00\x01nR\
|
||||
\x00\x00\x01\x8f\xff^8P\
|
||||
\x00\x00\x04\x9e\x00\x01\x00\x00\x00\x01\x00\x01t\x1b\
|
||||
\x00\x00\x04\x9e\x00\x01\x00\x00\x00\x01\x00\x01t\x17\
|
||||
\x00\x00\x01\x8f\xff^8P\
|
||||
\x00\x00\x05@\x00\x01\x00\x00\x00\x01\x00\x01\x8b\x0b\
|
||||
\x00\x00\x05@\x00\x01\x00\x00\x00\x01\x00\x01\x8b\x07\
|
||||
\x00\x00\x01\x8f\xff^8P\
|
||||
\x00\x00\x05\x06\x00\x00\x00\x00\x00\x01\x00\x01\x85\xe2\
|
||||
\x00\x00\x05\x06\x00\x00\x00\x00\x00\x01\x00\x01\x85\xde\
|
||||
\x00\x00\x01\x8f\xff^8P\
|
||||
\x00\x00\x05\xdc\x00\x01\x00\x00\x00\x01\x00\x01\xa9b\
|
||||
\x00\x00\x05\xdc\x00\x01\x00\x00\x00\x01\x00\x01\xa9^\
|
||||
\x00\x00\x01\x8f\xff^8_\
|
||||
\x00\x00\x06$\x00\x01\x00\x00\x00\x01\x00\x01\xaf\xa7\
|
||||
\x00\x00\x06$\x00\x01\x00\x00\x00\x01\x00\x01\xaf\xa3\
|
||||
\x00\x00\x01\x8f\xff^8_\
|
||||
\x00\x00\x05\xc0\x00\x01\x00\x00\x00\x01\x00\x01\xa6_\
|
||||
\x00\x00\x05\xc0\x00\x01\x00\x00\x00\x01\x00\x01\xa6[\
|
||||
\x00\x00\x01\x8f\xff^8_\
|
||||
\x00\x00\x06\x00\x00\x01\x00\x00\x00\x01\x00\x01\xac%\
|
||||
\x00\x00\x06\x00\x00\x01\x00\x00\x00\x01\x00\x01\xac!\
|
||||
\x00\x00\x01\x8f\xff^8_\
|
||||
"
|
||||
|
||||
|
||||
@@ -6,10 +6,10 @@ from PySide6.QtCore import QObject, Slot, Signal
|
||||
from artemis.utils.constants import Constants, Messages
|
||||
from artemis.utils.sys_utils import open_directory, make_tar, unpack_tar
|
||||
from artemis.utils.sql_utils import ArtemisDatabase, ArtemisSignal
|
||||
from artemis.utils.path_utils import DATA_DIR
|
||||
from artemis.utils.update_utils import UpdateManager
|
||||
from artemis.utils.generic_utils import generate_filter_query
|
||||
from artemis.utils.path_utils import normalize_dialog_path
|
||||
from artemis.utils.path_utils import DATA_DIR
|
||||
from artemis.utils.config_utils import CONFIGURE_QT
|
||||
|
||||
from artemis.ui.preferences import UIPreferences
|
||||
@@ -25,6 +25,7 @@ import artemis.resources
|
||||
|
||||
class UIArtemis(QObject):
|
||||
# Python > QML Signals
|
||||
close_ui = Signal()
|
||||
populate_sig_list = Signal(list)
|
||||
populate_sig_details = Signal(list)
|
||||
populate_filter_modulation = Signal(list)
|
||||
@@ -79,8 +80,8 @@ class UIArtemis(QObject):
|
||||
self._window.loadSignal.connect(self.load_sig)
|
||||
self._window.showPref.connect(self.show_pref_ui)
|
||||
self._window.openSigEditor.connect(self.open_sig_editor)
|
||||
self._window.startDownloader.connect(self.start_download_db)
|
||||
self._window.checkDbUpdates.connect(self.check_update_db)
|
||||
self._window.checkForUpdate.connect(self.check_for_update)
|
||||
self._window.updateDb.connect(self.update_db)
|
||||
self._window.updateArtemis.connect(self.update_artemis)
|
||||
self._window.showSpaceWeather.connect(self.show_space_weather_ui)
|
||||
self._window.openDbDirectory.connect(self.open_db_directory)
|
||||
@@ -99,6 +100,7 @@ class UIArtemis(QObject):
|
||||
self._window_signal.addCatTag.connect(self.add_cat_tag)
|
||||
|
||||
# Python > QML connections
|
||||
self.close_ui.connect(self._window.close)
|
||||
self.populate_sig_list.connect(self._window.populateList)
|
||||
self.clear_list.connect(self._window.clearList)
|
||||
self.update_info_bar.connect(self._window.bottomInfoBar)
|
||||
@@ -215,22 +217,12 @@ class UIArtemis(QObject):
|
||||
self.docmanager.load_documentsmanager_ui()
|
||||
|
||||
|
||||
def check_update_db(self):
|
||||
""" User manual check for updates db updates
|
||||
def check_for_update(self):
|
||||
""" User manual check for updates updates
|
||||
"""
|
||||
self.update_manager.check_updates(True)
|
||||
|
||||
|
||||
def start_download_db(self):
|
||||
""" Show the downloader and start the download of the sigid db
|
||||
"""
|
||||
self.downloader.finished.connect(self.update_manager.post_download_db)
|
||||
self.downloader.on_start(
|
||||
self.update_manager.remote_db_url,
|
||||
DATA_DIR
|
||||
)
|
||||
|
||||
|
||||
def dialog_download_db(self, message_type, title, message):
|
||||
""" Dialog popup for DB download confirmation
|
||||
"""
|
||||
@@ -238,14 +230,23 @@ class UIArtemis(QObject):
|
||||
|
||||
|
||||
def dialog_update_artemis(self, message_type, title, message, auto=False):
|
||||
""" Dialog popup for artemis download confirmation
|
||||
""" Dialog popup for Artemis download confirmation
|
||||
"""
|
||||
self.show_dialog_update_artemis.emit(message_type, title, message, auto)
|
||||
|
||||
|
||||
@Slot()
|
||||
def update_db(self):
|
||||
""" Start the download of the sigID DB
|
||||
"""
|
||||
self.update_manager.download_db()
|
||||
|
||||
|
||||
@Slot()
|
||||
def update_artemis(self):
|
||||
print('ciao')
|
||||
""" Start the download of Artemis
|
||||
"""
|
||||
self.update_manager.download_artemis()
|
||||
|
||||
|
||||
def open_db_directory(self):
|
||||
|
||||
@@ -55,7 +55,7 @@ class UIDownloader(QObject):
|
||||
url (str): url from where download the file
|
||||
save_path (str): path where to save the downloaded file
|
||||
"""
|
||||
|
||||
self._clear_ui()
|
||||
self.show_ui.emit()
|
||||
|
||||
self.file_url = QUrl(url)
|
||||
@@ -85,8 +85,6 @@ class UIDownloader(QObject):
|
||||
"""
|
||||
if self.reply:
|
||||
self.reply.abort()
|
||||
self.update_progress_bar.emit(0, 0)
|
||||
self.update_status.emit('')
|
||||
|
||||
if self.file:
|
||||
self.file.cancelWriting()
|
||||
@@ -103,8 +101,8 @@ class UIDownloader(QObject):
|
||||
|
||||
@Slot()
|
||||
def on_finished(self):
|
||||
""" Finalize the download process and if no errors
|
||||
occurs emits the finished signal usefulle for
|
||||
""" Finalize the download process and, if no errors
|
||||
occurs, emits the finished signal usefull for
|
||||
a callback
|
||||
"""
|
||||
if self.reply:
|
||||
@@ -144,6 +142,7 @@ class UIDownloader(QObject):
|
||||
def _get_filesize(self, url):
|
||||
""" Get the file size by sending a HEAD request to the URL.
|
||||
If the Content-Length in HTTP headers is missing, returns None
|
||||
and set the progress_bar as 'indeterminate' like a 'busy indicator'
|
||||
|
||||
Args:
|
||||
url (str): URL to check the file size
|
||||
@@ -157,6 +156,11 @@ class UIDownloader(QObject):
|
||||
return None
|
||||
|
||||
|
||||
def _clear_ui(self):
|
||||
self.update_progress_bar.emit(0, 0)
|
||||
self.update_status.emit('')
|
||||
|
||||
|
||||
def show_popup_error(self, error_msg):
|
||||
self._parent.dialog_popup(
|
||||
Messages.DIALOG_TYPE_ERROR,
|
||||
|
||||
@@ -5,8 +5,8 @@ from packaging.version import Version
|
||||
|
||||
from artemis.utils.constants import Constants, Messages
|
||||
from artemis.utils.sql_utils import ArtemisDatabase
|
||||
from artemis.utils.sys_utils import is_windows, is_linux, is_macos, delete_file, delete_dir, match_hash, unpack_tar
|
||||
from artemis.utils.path_utils import DATA_DIR
|
||||
from artemis.utils.sys_utils import is_windows, is_linux, is_macos, delete_file, delete_dir, match_hash, unpack_tar, open_file
|
||||
from artemis.utils.path_utils import DATA_DIR, APP_DIR
|
||||
|
||||
|
||||
class UpdateManager:
|
||||
@@ -26,19 +26,22 @@ class UpdateManager:
|
||||
self.remote_db_size = None
|
||||
self.remote_db_file_name = None
|
||||
|
||||
self.remote_art_version = None
|
||||
self.remote_artemis_version = None
|
||||
self.remote_artemis_url = None
|
||||
self.remote_artemis_file_name = None
|
||||
|
||||
self.check_updates()
|
||||
|
||||
|
||||
def check_updates(self, show_popup=False):
|
||||
""" Checks if a software or DB update is available.
|
||||
Prioritize Artemis update over DB one.
|
||||
Prioritize Artemis updates over the DB one.
|
||||
|
||||
Args:
|
||||
show_popup (bool, optional):
|
||||
Suppress the "already up-to-date" message on startup.
|
||||
Defaults to False.
|
||||
If False, suppress the "already up-to-date" message on startup.
|
||||
Defaults to False. True is usefull when the user manual check for
|
||||
updates.
|
||||
"""
|
||||
latest_json = self._fetch_remote_json(Constants.LATEST_VERSION_URL, show_popup)
|
||||
if latest_json:
|
||||
@@ -52,13 +55,18 @@ class UpdateManager:
|
||||
self.remote_db_file_name = self.remote_db_url.split('/')[-1]
|
||||
|
||||
if is_windows():
|
||||
self.remote_art_version = latest_json['windows']['version']
|
||||
self.remote_artemis_version = latest_json['windows']['version']
|
||||
self.remote_artemis_url = latest_json['windows']['url']
|
||||
elif is_linux():
|
||||
self.remote_art_version = latest_json['linux']['version']
|
||||
self.remote_artemis_version = latest_json['linux']['version']
|
||||
self.remote_artemis_url = latest_json['linux']['url']
|
||||
elif is_macos():
|
||||
self.remote_art_version = latest_json['mac']['version']
|
||||
self.remote_artemis_version = latest_json['mac']['version']
|
||||
self.remote_artemis_url = latest_json['mac']['url']
|
||||
|
||||
self.remote_artemis_file_name = self.remote_artemis_url.split('/')[-1]
|
||||
|
||||
if Version(self.remote_art_version) > Version(Constants.APPLICATION_VERSION):
|
||||
if Version(self.remote_artemis_version) > Version(Constants.APPLICATION_VERSION):
|
||||
self.art_update = True
|
||||
else:
|
||||
self.art_update = False
|
||||
@@ -77,6 +85,10 @@ class UpdateManager:
|
||||
|
||||
def _fetch_remote_json(self, url, show_popup=False):
|
||||
""" Fetches the remote json from a url
|
||||
|
||||
Args:
|
||||
show_popup (bool, optional): If false, suppress any error message
|
||||
Defaults to False (to avoid error if the program is used offline)
|
||||
"""
|
||||
try:
|
||||
response = requests.get(url)
|
||||
@@ -100,9 +112,25 @@ class UpdateManager:
|
||||
local_db.load()
|
||||
return local_db
|
||||
return None
|
||||
|
||||
|
||||
|
||||
def download_db(self):
|
||||
""" Open the downloader and download the sigID database in the
|
||||
DATA_DIR folder. After a succesfull download the callback function
|
||||
from the downloader is post_download_db
|
||||
"""
|
||||
self._parent.downloader.finished.connect(self.post_download_db)
|
||||
self._parent.downloader.on_start(
|
||||
self.remote_db_url,
|
||||
DATA_DIR
|
||||
)
|
||||
|
||||
|
||||
def post_download_db(self):
|
||||
""" After a succesfull DB download, this function check the hash
|
||||
for possible corrupted data, delete old sigID DB and extract
|
||||
the new one
|
||||
"""
|
||||
latest_db_tar_path = DATA_DIR / self.remote_db_file_name
|
||||
if match_hash(latest_db_tar_path, self.remote_db_hash):
|
||||
delete_dir(DATA_DIR / 'SigID')
|
||||
@@ -114,8 +142,29 @@ class UpdateManager:
|
||||
delete_file(latest_db_tar_path)
|
||||
|
||||
|
||||
def download_artemis(self):
|
||||
""" Open the downloader and download Artemis in the
|
||||
APP_DIR folder. After a succesfull download the callback function
|
||||
from the downloader is post_download_artemis
|
||||
"""
|
||||
self._parent.downloader.finished.connect(self.post_download_artemis)
|
||||
self._parent.downloader.on_start(
|
||||
self.remote_artemis_url,
|
||||
APP_DIR
|
||||
)
|
||||
|
||||
|
||||
def post_download_artemis(self):
|
||||
""" After a succesfull Artemis download, this open the installer
|
||||
and close the application
|
||||
"""
|
||||
if is_windows():
|
||||
open_file(APP_DIR / self.remote_artemis_file_name)
|
||||
self._parent.close_ui.emit()
|
||||
|
||||
|
||||
def _show_popup_db_update(self):
|
||||
""" Prompts the user to download the updated version of the database.
|
||||
""" Prompts the user to download the updated version of the database
|
||||
"""
|
||||
self._parent.dialog_download_db(
|
||||
Messages.DIALOG_TYPE_WARN,
|
||||
@@ -133,20 +182,20 @@ class UpdateManager:
|
||||
self._parent.dialog_update_artemis(
|
||||
Messages.DIALOG_TYPE_QUEST,
|
||||
Messages.ART_NEW_VER,
|
||||
Messages.ART_NEW_VER_AUTO_MSG.format(self.remote_art_version),
|
||||
Messages.ART_NEW_VER_AUTO_MSG.format(self.remote_artemis_version),
|
||||
True
|
||||
)
|
||||
else:
|
||||
self._parent.dialog_update_artemis(
|
||||
Messages.DIALOG_TYPE_QUEST,
|
||||
Messages.ART_NEW_VER,
|
||||
Messages.ART_NEW_VER_MANUAL_MSG.format(self.remote_art_version),
|
||||
Messages.ART_NEW_VER_MANUAL_MSG.format(self.remote_artemis_version),
|
||||
False
|
||||
)
|
||||
|
||||
|
||||
def _show_popup_up_to_date(self):
|
||||
""" Notifies the user that the database is up to date.
|
||||
""" Notifies the user that the database is up to date
|
||||
"""
|
||||
self._parent.dialog_popup(
|
||||
Messages.DIALOG_TYPE_INFO,
|
||||
@@ -156,7 +205,7 @@ class UpdateManager:
|
||||
|
||||
|
||||
def _show_popup_initial_db_download(self):
|
||||
""" Prompts the user to download the database for the first time.
|
||||
""" Prompts the user to download the database for the first time
|
||||
"""
|
||||
self._parent.dialog_download_db(
|
||||
Messages.DIALOG_TYPE_QUEST,
|
||||
|
||||
@@ -31,8 +31,8 @@ Window {
|
||||
signal showCatManager()
|
||||
signal openSigEditor(string type, var sig_param, bool is_new)
|
||||
signal showSpaceWeather()
|
||||
signal checkDbUpdates()
|
||||
signal startDownloader()
|
||||
signal checkForUpdate()
|
||||
signal updateDb()
|
||||
signal updateArtemis()
|
||||
signal openDbDirectory()
|
||||
signal newDb(string name)
|
||||
@@ -137,7 +137,7 @@ Window {
|
||||
standardButtons: Dialog.Cancel | Dialog.Yes
|
||||
|
||||
onAccepted: {
|
||||
startDownloader()
|
||||
updateDb()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -323,7 +323,7 @@ Window {
|
||||
|
||||
MenuItem {
|
||||
text: "Check for Updates"
|
||||
onClicked: {checkDbUpdates()}
|
||||
onClicked: {checkForUpdate()}
|
||||
}
|
||||
|
||||
MenuSeparator {}
|
||||
|
||||
Reference in New Issue
Block a user