From cf8507a43e4e0d9c3985547276bb541db2b65b1f Mon Sep 17 00:00:00 2001 From: Stavros Sachtouris <saxtouri@admin.grnet.gr> Date: Wed, 17 Jun 2015 14:26:21 +0300 Subject: [PATCH] Open notification box on critical errors --- agkyra/nwgui/menu.html | 15 ++++++++-- agkyra/nwgui/notify.js | 30 ++++++++++++++++++++ agkyra/nwgui/protocol.js | 10 ++++++- agkyra/nwgui/static/images/ntf_critical.png | Bin 0 -> 4317 bytes agkyra/nwgui/static/images/ntf_info.png | Bin 0 -> 4539 bytes agkyra/nwgui/static/images/ntf_warning.png | Bin 0 -> 3976 bytes agkyra/protocol.py | 12 ++++++-- 7 files changed, 61 insertions(+), 6 deletions(-) create mode 100644 agkyra/nwgui/notify.js create mode 100644 agkyra/nwgui/static/images/ntf_critical.png create mode 100644 agkyra/nwgui/static/images/ntf_info.png create mode 100644 agkyra/nwgui/static/images/ntf_warning.png diff --git a/agkyra/nwgui/menu.html b/agkyra/nwgui/menu.html index a829e99..cfc1f4a 100644 --- a/agkyra/nwgui/menu.html +++ b/agkyra/nwgui/menu.html @@ -16,10 +16,14 @@ You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. --> <html> -<head><title>GUI for Agkyra Pithos+ Syncing Client</title></head> +<head> + <meta charset="UTF-8" /> + <title>GUI for Agkyra Pithos+ Syncing Client</title> +</head> <body> <script src="protocol.js"></script> <script src="settings.js"></script> + <script src="notify.js"></script> <script src="static/js/jquery.js"></script> <script type="text/javascript"> @@ -214,7 +218,14 @@ window.setInterval(function() { var status = globals['status']; var new_progress = progress_item.label; var new_pause = pause_item.label; - if (!status.can_sync) { + if (status.notification !== 0) { + new_progress = notifications[status.notification]; + new_pause = 'inactive'; + if (progress_item.label !== new_progress) { + notify_user(new_progress, 'critical'); + } + } + else if (!status.can_sync) { if (globals.just_opened) new_progress = 'Connecting...' else new_progress = 'Not able to sync' new_pause = 'inactive' diff --git a/agkyra/nwgui/notify.js b/agkyra/nwgui/notify.js new file mode 100644 index 0000000..59735b1 --- /dev/null +++ b/agkyra/nwgui/notify.js @@ -0,0 +1,30 @@ +var gui = require('nw.gui'); + +var ntf_title = { + 'info': 'Notification', + 'warning': 'Warning', + 'critical': 'Critical Error' +} +var ntf_icon = { + 'info': 'static/images/ntf_info.png', + 'warning': 'static/images/ntf_warning.png', + 'critical': 'static/images/ntf_critical.png', +} + +var notify_menu = new gui.MenuItem({ + label: 'Notifications', + icon: 'static/images/play_pause.png', + iconIsTemplate: false, + click: function() { + console.log('Notification is clecked'); + } +}); + +function notify_user(msg, level) { + var n = new Notification(ntf_title[level], { + lang: 'utf-8', + body: msg, + icon: ntf_icon[level] + }); + setTimeout(n.close.bind(n), 4000); +} \ No newline at end of file diff --git a/agkyra/nwgui/protocol.js b/agkyra/nwgui/protocol.js index 3ee6ccb..f760d2a 100644 --- a/agkyra/nwgui/protocol.js +++ b/agkyra/nwgui/protocol.js @@ -28,6 +28,13 @@ function send_json(socket, msg) { socket.send(JSON.stringify(msg)); } +var notifications = { + 0: 'Syncer is consistent', + 1: 'Local directory is not accessible', + 2: 'Remote container is not accessible', + 100: 'Unknown error' +} + var globals = { settings: { token: null, @@ -36,7 +43,8 @@ var globals = { directory: null, exclude: null }, - status: {synced: 0, unsynced: 0, paused: null, can_sync: false}, + status: { + synced: 0, unsynced: 0, paused: null, can_sync: false, notification: 0}, authenticated: false, just_opened: false, open_settings: false, diff --git a/agkyra/nwgui/static/images/ntf_critical.png b/agkyra/nwgui/static/images/ntf_critical.png new file mode 100644 index 0000000000000000000000000000000000000000..9e4ba583076ad6b3015835168f174a6cadce0239 GIT binary patch literal 4317 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 LNkvXXu0mjfZ0Ao` literal 0 HcmV?d00001 diff --git a/agkyra/nwgui/static/images/ntf_info.png b/agkyra/nwgui/static/images/ntf_info.png new file mode 100644 index 0000000000000000000000000000000000000000..88431183c7d4eff7e8fe8527ae06ed2e8bc94bed GIT binary patch literal 4539 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 Z{vX(~`&YunRh9q%002ovPDHLkV1kv7?cM+Y literal 0 HcmV?d00001 diff --git a/agkyra/nwgui/static/images/ntf_warning.png b/agkyra/nwgui/static/images/ntf_warning.png new file mode 100644 index 0000000000000000000000000000000000000000..74ff54f6634d5f8ac145cfaa46b71973dca60efb GIT binary patch literal 3976 zcmV;34|nj1P)<h;3K|Lk000e1NJLTq001Ze001Zm1^@s7`}v6b00004XF*Lt006O% z3;baP00006VoOIv0Pg@^001@R=*s{A010qNS#tmY4c7nw4c7reD4Tcy000McNliru z-v$v16Bf|*uoVCR02y>eSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{01n_u zL_t(o!-bf6bXV22$3Oer`@2bi5S2LunY3CgS_)Wj9uO#EwN7XtL9Jq|)~a=^it@Dj zRGv?3t)Q)xObptVGKdq1Bc%+Qr63?PB$z-5AqmOv4rjkV?)@d9b**=^e(T;}*6*IP z&))kxoFf2!1t7eQvd$~y5%J66%k<gW>By)2W%rFdIcg60Wh~u4*VV(#kw(kW5ohG9 zi?Y6FZg{Dza*zqipDG0bNSC8eEX`$bZX=T~K*?PGJhY`Wel~susw<5?u>4fqPN-kb zT?7lznZF&Q`X2i2{@tpJMG5Akx)fdY;d`p8>d!-s`po&uhka?R*-EfLpqZ2a_zQpt zwE|8mnOOk~8c~L&$oLCE6m_%VSM$2zUZpr)3?>KaTj7OeOc4j);G@O}tGX^_)-83g zN|138;=)mNIpPCC%6L<dC{X;*irH}DX1?6ojR$W%2N|c-4E=(~t^y5-GX&t5a4!ze zAs_;p#OO^y{1T46{0hzu=8+EOvD2?0)mA!^5&a7C#GxKRFv(jMh=2f5hxp%)D~Ffw z86h9`SxaQVT&budhzq1pz%hO~YEeGjc!Z128Ns5ppl=B#rL<hGL?Qr>8w5QX2;V#R z9#+f{cK4i(Nx^|e__k^v(?7op;1TgF(D$}>VZz8JtiacUcJRUMk=!<>4l_Y%SzvG@ z#h}=+Lz*ChbPJqz;QQS1{6U`l_y!I&`Zy>k7%WDtz-7w9fAwM0<}LtCe|ipi?_?ns zP%enmQ%1D^Fy_PpsHpoL`*u`v|5=L&8+<eZEJo5LkW~zRDT+bGAR6b<V%ddqidRf1 ze8=TiP$GsR1O;L!Xonvtih?R90#(itG|B~Ua#9$-0{k*g@GDS#6MbdZZAIychk0)2 zQ{r|8bzyrgl==(Vc0f=U!9~PjuNcCpD@(n}3AmCOU%{a^m1S63bqSKL=GEU0r=VvR zc<^e~bCmA-89laK%c%nt<AUqKTa|*F!idAAetEnG@yj?H!-wMFU_cD01La#Tqxk;C zY}!^u*VP5|?UnSMjib14@fe=^{ZjVTHo~GF^zDX<A_jOL!EqgUt!g^Xl}g$BP&i~c z^1jE)g%8oM$a2@4mtZ`=0bF=y;`?mg+epc;doUp1!FA$X8=x9R!w7z!{{$@aC>jGs zLu@+WmZ7CgFEaf8)py|{W%b6mK=&;B8AAtm2Lox}V&lF+(sOaep%n)wm4d&2aU9>Y z{E$wAucLKm8TVeinslpW<{QexWpSy)Fu-+Fl)U~T#l7z*Z1hn}M8tYYP~Q*39t@;% zh1t8F;PVY@c=X9X(Ko+m(kl_*V1eaJ7I5yN>&VVZfUZPD?D2{i)Yh=c!0%(YI8w;Y z5yDUjtdNtP0t0^9qEU#`PBj+AVCjcY0|X{BSh@tfV#Z*}$|*vE7M-gBb*@!{qdq~C zj|3scf`)ua$OYaM92Ep%pI1!a6?Y`N3h)Zsp8*ee9N~I_0Sam01C(cg54}P(!*7}Q z+PSWr4nxxq*d+!@K*urAi(x0Klz4?q?HEYh*yYJAlfkcGmNDEEDJcu2Tu|vSGfD2^ z{Ha<5$U#VZ*T++uw!z9-jL1!2R=KHfM(o4AR(XGu2ae!+4$oBH!tG1O#ZVByAjxwJ zAzl3Pc+Sj{3o*PN_+-uDZEo*6o(2EvLhj(JnNUzln6?}oRZH)l-C?m1MWD6~imDdz z3ggv^UxtGr6a(MZ!It4W(YFV3+-2)I{MK-e1f3Z9i`~>L=t2DvxbTM{7MhMi5I|lI zU<t9j;!WmGgYYaugh20}kXkX2on|b%zS+QtUpG?IYX<!)dob*KaM5ru1{@b&{^yTa znKOq}u0aGB_*JGTDkcWKI5FE)*F*L2J)C)ZKmO-|QT%4y8f?(6?FSD-&%(IukK8$d zCog)Jpfyq=E_WWiipMjF-rLZH&vxXI8uu062Lo8SDaEw=N?1C7CZ`kxsK!bE&0E*7 zZtbUZ>)s1LP?jxym(kyoNZ?Q$p#ysxTn0`Hcys<NuI_U?!4XSUEw~ep(6?7EyGn)r zy<$k4ESR^dfHSUMz>tGuprM7J6~$6-GA<=QH)PiAKhV7K1%d`}9LVo&c=hqo2(Yow zrv!e|j4kkaFoot;1q}$pwpKmim>jxUE<qS!Qt{fv0n@`{b@UO#hYjQY2Or>tF)#4V zJ~(-rvSHn7e$;S2VO@YmL|EQ3iSU9#=!c|SVm1lDhJwG}XWi?gNO>MJpM8!;*Zvnr z&e{gRy3dxt(WD<^e)~xLQV!v8oEYRl6Rg<t1NJ-Tq4__hP{z}zr{Lsy?Ckdy0|%Z& z7={>QuwwYf-NM8lgOOx7<rIT*CYDGo^yvcO$&Yg1^p|Pf{0ci8^VwFL$0uL(AS=5w z0FL8ejN#!Mhj8g=gClLcc)%-SYYe?oj$r6)!K~g2X8Z=4_OEBc&u;z?6R=}%Eq}Q8 z3}#L`hz-Ja2r6d+8)9P@;*cW5ps8#lQ)YFe?BN5vy$mW-*KqpqF&wC^V*5Y;%ws>P zB5j3~(T;eYO<#UNHEm8&6!Ju<7enNx#PLH#0pqx&vJHevs~_Pe709?vEK9s%ewtZ< z@ruDKMg<zZB1A3Kfv<>S4S)>^kNO0DfTI>wR5M1?@=(XY+O0?;YyMosE8;{V&c(7Z z<4`qf8vr5>VVUa{A;9zho@4nA=Y?08=!z!fI}h=$NBwe6#&Cx~A<&)g^ltxlY1^$H zWiIfFSIAbs0`Uq_zdWAf-*xRj0?ho-FORK@HwpZC7?i2NiwL<UrcDEg%Kx|2V|1-u z-{QL{96@=&D`b{mfkCiD;7w_drA_nN0+S?rW%NLJ9bqCu;5ek}o8i+P$FcQDe{8ye z3kUCJ#9$@TV}lfh)<8JW=+GlKB+LDdV72YLMKP+pgXMZ}3iXN9X(lFv?GUjg+b`!O z47C`>rm|sk6{$BH9%kDQ*0SwTE?!+FZuen?<EmM_cLG&4;AR^l5!^h(jK6n+3H1!P zIiS-d<&K4?;id$Y#5s2S2qxK+U4r3|U(TPs$!)=jHyK>7sI9~Wz-9zb1a&>*ZQo_7 z$}Obej4Rkae-!tOk7#Lx6$cJc`Q;{tc5b9wXHZr498^j_p2*G5{F#M+`zt4(G!Tp7 z<Zd;IDNrP_Gpezs8<S|eVnnehH~AHujWX4n%o@KuW<~rm`XlT@2t-IBphie}%F2z| zY|Q-~H&45rbzgkVfPTH`m*0oEe|d$?AHPUsa{1|vFA(AIN!hjh>cYKr%`<I&DDWdp zhY~vqn`?4;@ZIqY>+%tgT~R~e$B{~=<d$k+vNxGk;+K&^s6seF;*?8bgW{D7xUPYe zLXNWP6WG)9ajw4MF*<qh$@*{DwRAjJ4BbJOTtgJuj6puO=ZNWL&Gybz9``!GyzyFU z>Y6BhZ3d?up2<(naqycWj1Z~C!LkNrs`KcTJccj<0Won;AaVL7xr4G{oAAc=pEK~X zg}4$>TJ}19^7}LV^i$a0dM4}s`5veAJWN)nBp~Sk9Kc#wQrR6wuj0xH=O7|vr3^nl zYYf}n3A{Y#9mby8fHB5cRbQY#!cOta*oH6|gNh)I0}aivY}YUv2F##-|0YI^_z^i- z4jUF+%`NBG)A_h;=#*yW{BE3i-BQjw`^Ny>d+(i08uSt)zaJB^O|(WWtgJLF`>G%L zIn@jw?6Bvgw>j_h&McZSlDn^hIq$*oxx$5~DS0_WVT2>fKg2IXGbI%P*M;2&;II3y z<DMDw*jL-ix}^^?(!NOF0*^58F%AR~WcBp;<6NKq6Bcsm#A^V{w%xVNefoUvxnwKH z=Yb95j9Lo@p{7oG>EmHM_1XqDto@iJ&z;9(x29;W4M`b|`_;BvctgDFXzP_Qf`abC z-Dk|_^Jj(1|IOj@6JDfO4~Tp}Mk0`MAguGbZIVac#%p=)kJD*xg+cv#^2Dqy%-%bT zMW1<?WL!re3Y8U`k7wLXbK@x`g`e0dBkek=k|Yfd8k7%?p;864N@U>&gJA3kh%_eP z3_W0DIdOof*=N*Hhbj3_@YF+BQg^r+fO~Gckt?RBnfBL7e6cf&9sA+=6+;<y>n6@0 zJp_QJhHvTH35cBJOry;;M2V+aD1IsDB7B4p#>WwHsWT=sjG(>|LIqrdnjGp{^VnI{ zz{o+(6!eBDfJhxYFXA_g#`4I2|Bd7GVuuz*A&%p=I|yrWjA8S(J<NG>EYDoKh1NzB z+nP8D@t?&2mmA<yl;==fl!zott_Q0(!Y`L!N7tK_f}53s8zTA@H}TG)ThMef1t)-} z<MO36f&hl_E?<AO2Ako%4#5F9#;{`5$CNyLD$h*bPD_K}N(avcA#p1{?G>>&L(~q+ z9}s?#$)pN+S%w{ZEN@kx#l*Ybrl5O@nz}~%_U^&HI-hmx*0ZnbTUw4blbxN-z<~pp zc=3p2vUoO0nl=K~tlhxhXHDbY(d+4cyo(LOSa{nxGsNNoFL5GwdgmXzg*QYL19Ql@ z7C}S|8d~1lcM9|OPNHbg8~D{<v+~eL&i%>HIcdmfa=P{=H#e6~+1VgMYdTG1V-rEk zA@=Y2ij_-VBfn`mw_a)Rn+2i>BOL<E99G2N@9>Iv*)PTQiU`Fo1+NJF62vP;{SrC@ zix9>nq-`UM$?j_Sq|(yT3YVNIv>X+3y10-PV(TrNc0+ALjP5=sz)5|9E`WOYO%WPJ zIHnzrYTFK3O#+C2pxo+BrN%G8@rsH3(#!@vK2gaW)flfBo1RN&5oRM?gWx4f729^x zt`ri}Li^D}Mm>aMB(Fmm+k=X)xkTLU-9WuxLdq*9=on9YWYOX1$4T~SBD7$b>J^bi z#A#UGaFlPI_RT{^B`gtEY$Dw;B`FbBBdl67r>vPzH4$&13`=bOG=zpE*q~!P#NN66 z$|^nvaMqjBmXR$$kynJDWVr{*c!W_1rvlx9fk1BZMgy=9r~$U1tVUVsO{F?{-%D@< iil1@kUh#jL^8W)I74zJbBG^R$0000<MNUMnLSTZYXqiI* literal 0 HcmV?d00001 diff --git a/agkyra/protocol.py b/agkyra/protocol.py index 63c99d0..e651f73 100644 --- a/agkyra/protocol.py +++ b/agkyra/protocol.py @@ -437,7 +437,7 @@ class WebSocketProtocol(WebSocket): # LOG.info('Collision for "%s"' % msg.objname) # elif isinstance(msg, messaging.ConflictStashMessage): # LOG.info('Conflict for "%s"' % msg.objname) - if isinstance(msg, messaging.LocalfsSyncDisabled): + elif isinstance(msg, messaging.LocalfsSyncDisabled): # LOG.debug('Local FS is dissabled, noooo!') self.status['notification'] = 1 self.syncer.stop_all_daemons() @@ -485,12 +485,18 @@ class WebSocketProtocol(WebSocket): # while not msg: # time.sleep(0.2) # msg = syncer_.get_next_message() + + # This should be activated only on accepting a positive message + self.status['notification'] = 0 + self.status['unsynced'] = 0 + self.status['synced'] = 0 + if msg: if isinstance(msg, messaging.LocalfsSyncDisabled): - LOG.debug('Local FS is dissabled, noooo!') + LOG.debug('Local FS is disabled') self.status['notification'] = 1 elif isinstance(msg, messaging.PithosSyncDisabled): - LOG.debug('Pithos sync is disabled, noooooo!') + LOG.debug('Pithos sync is disabled') self.status['notification'] = 2 else: LOG.debug("Unexpected message: %s" % msg) -- GitLab