From bfffdf9d43968f14a429de79cbfd8d783e61b314 Mon Sep 17 00:00:00 2001
From: Stavros Sachtouris <saxtouri@admin.grnet.gr>
Date: Wed, 18 Mar 2015 12:59:20 +0200
Subject: [PATCH] Implement Agkyra GUI and helper

---
 agkyra/.gitignore             |   6 +++
 agkyra/__init__.py            |  64 ++++++++++++++++++++++
 agkyra/gui.json               |   4 ++
 agkyra/gui/about.html         |  12 +++++
 agkyra/gui/foundation.min.css |   1 +
 agkyra/gui/icons/about.png    | Bin 0 -> 2110 bytes
 agkyra/gui/icons/exit.png     | Bin 0 -> 16872 bytes
 agkyra/gui/icons/folder.png   | Bin 0 -> 1223 bytes
 agkyra/gui/icons/logo.png     | Bin 0 -> 14540 bytes
 agkyra/gui/icons/logs.png     | Bin 0 -> 2874 bytes
 agkyra/gui/icons/pithos.png   | Bin 0 -> 1160 bytes
 agkyra/gui/icons/settings.png | Bin 0 -> 2866 bytes
 agkyra/gui/icons/tray.png     | Bin 0 -> 2289 bytes
 agkyra/gui/index.html         |   5 ++
 agkyra/gui/logs.txt           |   1 +
 agkyra/gui/package.json       |  16 ++++++
 agkyra/gui/protocol.js        |  98 ++++++++++++++++++++++++++++++++++
 agkyra/gui/settings.html      |  54 +++++++++++++++++++
 agkyra/gui/ws.html            |  20 +++++++
 agkyra/index.html             |   0
 agkyra/protocol.py            |  41 ++++++++++++++
 21 files changed, 322 insertions(+)
 create mode 100644 agkyra/.gitignore
 create mode 100644 agkyra/__init__.py
 create mode 100644 agkyra/gui.json
 create mode 100644 agkyra/gui/about.html
 create mode 100644 agkyra/gui/foundation.min.css
 create mode 100644 agkyra/gui/icons/about.png
 create mode 100644 agkyra/gui/icons/exit.png
 create mode 100644 agkyra/gui/icons/folder.png
 create mode 100644 agkyra/gui/icons/logo.png
 create mode 100644 agkyra/gui/icons/logs.png
 create mode 100644 agkyra/gui/icons/pithos.png
 create mode 100644 agkyra/gui/icons/settings.png
 create mode 100644 agkyra/gui/icons/tray.png
 create mode 100644 agkyra/gui/index.html
 create mode 100644 agkyra/gui/logs.txt
 create mode 100644 agkyra/gui/package.json
 create mode 100644 agkyra/gui/protocol.js
 create mode 100644 agkyra/gui/settings.html
 create mode 100644 agkyra/gui/ws.html
 create mode 100644 agkyra/index.html
 create mode 100644 agkyra/protocol.py

diff --git a/agkyra/.gitignore b/agkyra/.gitignore
new file mode 100644
index 0000000..27ffc4f
--- /dev/null
+++ b/agkyra/.gitignore
@@ -0,0 +1,6 @@
+*.pyc
+*.egg-info
+*.*.swp
+_build
+build
+dist
diff --git a/agkyra/__init__.py b/agkyra/__init__.py
new file mode 100644
index 0000000..bcbf9d2
--- /dev/null
+++ b/agkyra/__init__.py
@@ -0,0 +1,64 @@
+from wsgiref.simple_server import make_server
+# from ws4py.websocket import EchoWebSocket
+from protocol import WebSocketProtocol
+from ws4py.server.wsgirefserver import WSGIServer, WebSocketWSGIRequestHandler
+from ws4py.server.wsgiutils import WebSocketWSGIApplication
+from tempfile import NamedTemporaryFile
+import subprocess
+import json
+from os.path import abspath
+
+from ws4py.client import WebSocketBaseClient
+
+
+class GUILauncher(WebSocketBaseClient):
+    """Launch the GUI when the helper server is ready"""
+
+    def __init__(self, port, gui_exec_path, token):
+        super(GUILauncher, self).__init__('ws://localhost:%s' % port)
+        self.port = port
+        self.gui_exec_path = gui_exec_path
+        self.token = token
+
+    def handshake_ok(self):
+        with NamedTemporaryFile(mode='a+') as fp:
+            json.dump(dict(token=self.token, port=self.port), fp)
+            fp.flush()
+            subprocess.call([
+                '/home/saxtouri/node-webkit-v0.11.6-linux-x64/nw',
+                abspath('gui/gui.nw'),
+                fp.name])
+
+
+class Helper(object):
+    """Coordination between the GUI and the Syncer instances
+
+    Setup a minimal server at a ephemeral port, create a random token, dump
+    this information in a local file and launch the GUI with this file as a
+    parameter.
+    Then the GUI connects and a WebSocket is established.
+
+    """
+
+    def __init__(self, gui_exec_path, port=0):
+        self.server = self.setup_server(port)
+        self.port = self.server.server_port
+        self.token = 'some random token'
+        self.gui_exec_path = gui_exec_path
+
+    def setup_server(self, port=0):
+        server = make_server(
+            '', port,
+            server_class=WSGIServer,
+            handler_class=WebSocketWSGIRequestHandler,
+            app=WebSocketWSGIApplication(handler_cls=WebSocketProtocol))
+        server.initialize_websockets_manager()
+        # self.port = server.server_port
+        return server
+
+    def run(self):
+        gui = GUILauncher(self.port, self.gui_exec_path, self.token)
+        gui.connect()
+        self.server.serve_forever()
+
+Helper('ls').run()
diff --git a/agkyra/gui.json b/agkyra/gui.json
new file mode 100644
index 0000000..75b4e4b
--- /dev/null
+++ b/agkyra/gui.json
@@ -0,0 +1,4 @@
+{
+    "port": 1234,
+    "token": "s0m3-70k3n"
+}
\ No newline at end of file
diff --git a/agkyra/gui/about.html b/agkyra/gui/about.html
new file mode 100644
index 0000000..a4002d6
--- /dev/null
+++ b/agkyra/gui/about.html
@@ -0,0 +1,12 @@
+<html>
+  <head><title>Agkyra Syncing Client for Pithos+</title></head>
+  <body style="-webkit-app-region: drag; text-align: center">
+   <div>
+    <img src="icons/logo.png" style="width: 64px; height: 64px;" />
+    <h1>Agkyra</h1>
+    <h2>... it syncs</h2>
+    <p>&nbsp;</p>
+    <p><b>Agkyra</b> is a minimal syncing client for Pithos+ containers.</p>
+   </div>
+  </body>
+</html>
diff --git a/agkyra/gui/foundation.min.css b/agkyra/gui/foundation.min.css
new file mode 100644
index 0000000..876c596
--- /dev/null
+++ b/agkyra/gui/foundation.min.css
@@ -0,0 +1 @@
+meta.foundation-version{font-family:"/5.5.1/"}meta.foundation-mq-small{font-family:"/only screen/";width:0}meta.foundation-mq-small-only{font-family:"/only screen and (max-width: 40em)/";width:0}meta.foundation-mq-medium{font-family:"/only screen and (min-width:40.063em)/";width:40.063em}meta.foundation-mq-medium-only{font-family:"/only screen and (min-width:40.063em) and (max-width:64em)/";width:40.063em}meta.foundation-mq-large{font-family:"/only screen and (min-width:64.063em)/";width:64.063em}meta.foundation-mq-large-only{font-family:"/only screen and (min-width:64.063em) and (max-width:90em)/";width:64.063em}meta.foundation-mq-xlarge{font-family:"/only screen and (min-width:90.063em)/";width:90.063em}meta.foundation-mq-xlarge-only{font-family:"/only screen and (min-width:90.063em) and (max-width:120em)/";width:90.063em}meta.foundation-mq-xxlarge{font-family:"/only screen and (min-width:120.063em)/";width:120.063em}meta.foundation-data-attribute-namespace{font-family:false}html,body{height:100%}*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html,body{font-size:100%}body{background:#fff;color:#222;padding:0;margin:0;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:normal;font-style:normal;line-height:1.5;position:relative;cursor:auto}a:hover{cursor:pointer}img{max-width:100%;height:auto}img{-ms-interpolation-mode:bicubic}#map_canvas img,#map_canvas embed,#map_canvas object,.map_canvas img,.map_canvas embed,.map_canvas object{max-width:none !important}.left{float:left !important}.right{float:right !important}.clearfix:before,.clearfix:after{content:" ";display:table}.clearfix:after{clear:both}.hide{display:none}.invisible{visibility:hidden}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{display:inline-block;vertical-align:middle}textarea{height:auto;min-height:50px}select{width:100%}.row{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5rem}.row:before,.row:after{content:" ";display:table}.row:after{clear:both}.row.collapse>.column,.row.collapse>.columns{padding-left:0;padding-right:0}.row.collapse .row{margin-left:0;margin-right:0}.row .row{width:auto;margin-left:-0.9375rem;margin-right:-0.9375rem;margin-top:0;margin-bottom:0;max-width:none}.row .row:before,.row .row:after{content:" ";display:table}.row .row:after{clear:both}.row .row.collapse{width:auto;margin:0;max-width:none}.row .row.collapse:before,.row .row.collapse:after{content:" ";display:table}.row .row.collapse:after{clear:both}.column,.columns{padding-left:0.9375rem;padding-right:0.9375rem;width:100%;float:left}[class*="column"]+[class*="column"]:last-child{float:right}[class*="column"]+[class*="column"].end{float:left}@media only screen{.small-push-0{position:relative;left:0%;right:auto}.small-pull-0{position:relative;right:0%;left:auto}.small-push-1{position:relative;left:8.33333%;right:auto}.small-pull-1{position:relative;right:8.33333%;left:auto}.small-push-2{position:relative;left:16.66667%;right:auto}.small-pull-2{position:relative;right:16.66667%;left:auto}.small-push-3{position:relative;left:25%;right:auto}.small-pull-3{position:relative;right:25%;left:auto}.small-push-4{position:relative;left:33.33333%;right:auto}.small-pull-4{position:relative;right:33.33333%;left:auto}.small-push-5{position:relative;left:41.66667%;right:auto}.small-pull-5{position:relative;right:41.66667%;left:auto}.small-push-6{position:relative;left:50%;right:auto}.small-pull-6{position:relative;right:50%;left:auto}.small-push-7{position:relative;left:58.33333%;right:auto}.small-pull-7{position:relative;right:58.33333%;left:auto}.small-push-8{position:relative;left:66.66667%;right:auto}.small-pull-8{position:relative;right:66.66667%;left:auto}.small-push-9{position:relative;left:75%;right:auto}.small-pull-9{position:relative;right:75%;left:auto}.small-push-10{position:relative;left:83.33333%;right:auto}.small-pull-10{position:relative;right:83.33333%;left:auto}.small-push-11{position:relative;left:91.66667%;right:auto}.small-pull-11{position:relative;right:91.66667%;left:auto}.column,.columns{position:relative;padding-left:0.9375rem;padding-right:0.9375rem;float:left}.small-1{width:8.33333%}.small-2{width:16.66667%}.small-3{width:25%}.small-4{width:33.33333%}.small-5{width:41.66667%}.small-6{width:50%}.small-7{width:58.33333%}.small-8{width:66.66667%}.small-9{width:75%}.small-10{width:83.33333%}.small-11{width:91.66667%}.small-12{width:100%}.small-offset-0{margin-left:0% !important}.small-offset-1{margin-left:8.33333% !important}.small-offset-2{margin-left:16.66667% !important}.small-offset-3{margin-left:25% !important}.small-offset-4{margin-left:33.33333% !important}.small-offset-5{margin-left:41.66667% !important}.small-offset-6{margin-left:50% !important}.small-offset-7{margin-left:58.33333% !important}.small-offset-8{margin-left:66.66667% !important}.small-offset-9{margin-left:75% !important}.small-offset-10{margin-left:83.33333% !important}.small-offset-11{margin-left:91.66667% !important}.small-reset-order{margin-left:0;margin-right:0;left:auto;right:auto;float:left}.column.small-centered,.columns.small-centered{margin-left:auto;margin-right:auto;float:none}.column.small-uncentered,.columns.small-uncentered{margin-left:0;margin-right:0;float:left}.column.small-centered:last-child,.columns.small-centered:last-child{float:none}.column.small-uncentered:last-child,.columns.small-uncentered:last-child{float:left}.column.small-uncentered.opposite,.columns.small-uncentered.opposite{float:right}.row.small-collapse>.column,.row.small-collapse>.columns{padding-left:0;padding-right:0}.row.small-collapse .row{margin-left:0;margin-right:0}.row.small-uncollapse>.column,.row.small-uncollapse>.columns{padding-left:0.9375rem;padding-right:0.9375rem;float:left}}@media only screen and (min-width: 40.063em){.medium-push-0{position:relative;left:0%;right:auto}.medium-pull-0{position:relative;right:0%;left:auto}.medium-push-1{position:relative;left:8.33333%;right:auto}.medium-pull-1{position:relative;right:8.33333%;left:auto}.medium-push-2{position:relative;left:16.66667%;right:auto}.medium-pull-2{position:relative;right:16.66667%;left:auto}.medium-push-3{position:relative;left:25%;right:auto}.medium-pull-3{position:relative;right:25%;left:auto}.medium-push-4{position:relative;left:33.33333%;right:auto}.medium-pull-4{position:relative;right:33.33333%;left:auto}.medium-push-5{position:relative;left:41.66667%;right:auto}.medium-pull-5{position:relative;right:41.66667%;left:auto}.medium-push-6{position:relative;left:50%;right:auto}.medium-pull-6{position:relative;right:50%;left:auto}.medium-push-7{position:relative;left:58.33333%;right:auto}.medium-pull-7{position:relative;right:58.33333%;left:auto}.medium-push-8{position:relative;left:66.66667%;right:auto}.medium-pull-8{position:relative;right:66.66667%;left:auto}.medium-push-9{position:relative;left:75%;right:auto}.medium-pull-9{position:relative;right:75%;left:auto}.medium-push-10{position:relative;left:83.33333%;right:auto}.medium-pull-10{position:relative;right:83.33333%;left:auto}.medium-push-11{position:relative;left:91.66667%;right:auto}.medium-pull-11{position:relative;right:91.66667%;left:auto}.column,.columns{position:relative;padding-left:0.9375rem;padding-right:0.9375rem;float:left}.medium-1{width:8.33333%}.medium-2{width:16.66667%}.medium-3{width:25%}.medium-4{width:33.33333%}.medium-5{width:41.66667%}.medium-6{width:50%}.medium-7{width:58.33333%}.medium-8{width:66.66667%}.medium-9{width:75%}.medium-10{width:83.33333%}.medium-11{width:91.66667%}.medium-12{width:100%}.medium-offset-0{margin-left:0% !important}.medium-offset-1{margin-left:8.33333% !important}.medium-offset-2{margin-left:16.66667% !important}.medium-offset-3{margin-left:25% !important}.medium-offset-4{margin-left:33.33333% !important}.medium-offset-5{margin-left:41.66667% !important}.medium-offset-6{margin-left:50% !important}.medium-offset-7{margin-left:58.33333% !important}.medium-offset-8{margin-left:66.66667% !important}.medium-offset-9{margin-left:75% !important}.medium-offset-10{margin-left:83.33333% !important}.medium-offset-11{margin-left:91.66667% !important}.medium-reset-order{margin-left:0;margin-right:0;left:auto;right:auto;float:left}.column.medium-centered,.columns.medium-centered{margin-left:auto;margin-right:auto;float:none}.column.medium-uncentered,.columns.medium-uncentered{margin-left:0;margin-right:0;float:left}.column.medium-centered:last-child,.columns.medium-centered:last-child{float:none}.column.medium-uncentered:last-child,.columns.medium-uncentered:last-child{float:left}.column.medium-uncentered.opposite,.columns.medium-uncentered.opposite{float:right}.row.medium-collapse>.column,.row.medium-collapse>.columns{padding-left:0;padding-right:0}.row.medium-collapse .row{margin-left:0;margin-right:0}.row.medium-uncollapse>.column,.row.medium-uncollapse>.columns{padding-left:0.9375rem;padding-right:0.9375rem;float:left}.push-0{position:relative;left:0%;right:auto}.pull-0{position:relative;right:0%;left:auto}.push-1{position:relative;left:8.33333%;right:auto}.pull-1{position:relative;right:8.33333%;left:auto}.push-2{position:relative;left:16.66667%;right:auto}.pull-2{position:relative;right:16.66667%;left:auto}.push-3{position:relative;left:25%;right:auto}.pull-3{position:relative;right:25%;left:auto}.push-4{position:relative;left:33.33333%;right:auto}.pull-4{position:relative;right:33.33333%;left:auto}.push-5{position:relative;left:41.66667%;right:auto}.pull-5{position:relative;right:41.66667%;left:auto}.push-6{position:relative;left:50%;right:auto}.pull-6{position:relative;right:50%;left:auto}.push-7{position:relative;left:58.33333%;right:auto}.pull-7{position:relative;right:58.33333%;left:auto}.push-8{position:relative;left:66.66667%;right:auto}.pull-8{position:relative;right:66.66667%;left:auto}.push-9{position:relative;left:75%;right:auto}.pull-9{position:relative;right:75%;left:auto}.push-10{position:relative;left:83.33333%;right:auto}.pull-10{position:relative;right:83.33333%;left:auto}.push-11{position:relative;left:91.66667%;right:auto}.pull-11{position:relative;right:91.66667%;left:auto}}@media only screen and (min-width: 64.063em){.large-push-0{position:relative;left:0%;right:auto}.large-pull-0{position:relative;right:0%;left:auto}.large-push-1{position:relative;left:8.33333%;right:auto}.large-pull-1{position:relative;right:8.33333%;left:auto}.large-push-2{position:relative;left:16.66667%;right:auto}.large-pull-2{position:relative;right:16.66667%;left:auto}.large-push-3{position:relative;left:25%;right:auto}.large-pull-3{position:relative;right:25%;left:auto}.large-push-4{position:relative;left:33.33333%;right:auto}.large-pull-4{position:relative;right:33.33333%;left:auto}.large-push-5{position:relative;left:41.66667%;right:auto}.large-pull-5{position:relative;right:41.66667%;left:auto}.large-push-6{position:relative;left:50%;right:auto}.large-pull-6{position:relative;right:50%;left:auto}.large-push-7{position:relative;left:58.33333%;right:auto}.large-pull-7{position:relative;right:58.33333%;left:auto}.large-push-8{position:relative;left:66.66667%;right:auto}.large-pull-8{position:relative;right:66.66667%;left:auto}.large-push-9{position:relative;left:75%;right:auto}.large-pull-9{position:relative;right:75%;left:auto}.large-push-10{position:relative;left:83.33333%;right:auto}.large-pull-10{position:relative;right:83.33333%;left:auto}.large-push-11{position:relative;left:91.66667%;right:auto}.large-pull-11{position:relative;right:91.66667%;left:auto}.column,.columns{position:relative;padding-left:0.9375rem;padding-right:0.9375rem;float:left}.large-1{width:8.33333%}.large-2{width:16.66667%}.large-3{width:25%}.large-4{width:33.33333%}.large-5{width:41.66667%}.large-6{width:50%}.large-7{width:58.33333%}.large-8{width:66.66667%}.large-9{width:75%}.large-10{width:83.33333%}.large-11{width:91.66667%}.large-12{width:100%}.large-offset-0{margin-left:0% !important}.large-offset-1{margin-left:8.33333% !important}.large-offset-2{margin-left:16.66667% !important}.large-offset-3{margin-left:25% !important}.large-offset-4{margin-left:33.33333% !important}.large-offset-5{margin-left:41.66667% !important}.large-offset-6{margin-left:50% !important}.large-offset-7{margin-left:58.33333% !important}.large-offset-8{margin-left:66.66667% !important}.large-offset-9{margin-left:75% !important}.large-offset-10{margin-left:83.33333% !important}.large-offset-11{margin-left:91.66667% !important}.large-reset-order{margin-left:0;margin-right:0;left:auto;right:auto;float:left}.column.large-centered,.columns.large-centered{margin-left:auto;margin-right:auto;float:none}.column.large-uncentered,.columns.large-uncentered{margin-left:0;margin-right:0;float:left}.column.large-centered:last-child,.columns.large-centered:last-child{float:none}.column.large-uncentered:last-child,.columns.large-uncentered:last-child{float:left}.column.large-uncentered.opposite,.columns.large-uncentered.opposite{float:right}.row.large-collapse>.column,.row.large-collapse>.columns{padding-left:0;padding-right:0}.row.large-collapse .row{margin-left:0;margin-right:0}.row.large-uncollapse>.column,.row.large-uncollapse>.columns{padding-left:0.9375rem;padding-right:0.9375rem;float:left}.push-0{position:relative;left:0%;right:auto}.pull-0{position:relative;right:0%;left:auto}.push-1{position:relative;left:8.33333%;right:auto}.pull-1{position:relative;right:8.33333%;left:auto}.push-2{position:relative;left:16.66667%;right:auto}.pull-2{position:relative;right:16.66667%;left:auto}.push-3{position:relative;left:25%;right:auto}.pull-3{position:relative;right:25%;left:auto}.push-4{position:relative;left:33.33333%;right:auto}.pull-4{position:relative;right:33.33333%;left:auto}.push-5{position:relative;left:41.66667%;right:auto}.pull-5{position:relative;right:41.66667%;left:auto}.push-6{position:relative;left:50%;right:auto}.pull-6{position:relative;right:50%;left:auto}.push-7{position:relative;left:58.33333%;right:auto}.pull-7{position:relative;right:58.33333%;left:auto}.push-8{position:relative;left:66.66667%;right:auto}.pull-8{position:relative;right:66.66667%;left:auto}.push-9{position:relative;left:75%;right:auto}.pull-9{position:relative;right:75%;left:auto}.push-10{position:relative;left:83.33333%;right:auto}.pull-10{position:relative;right:83.33333%;left:auto}.push-11{position:relative;left:91.66667%;right:auto}.pull-11{position:relative;right:91.66667%;left:auto}}.inline-list{margin:0 auto 1.0625rem auto;margin-left:-1.375rem;margin-right:0;padding:0;list-style:none;overflow:hidden}.inline-list>li{list-style:none;float:left;margin-left:1.375rem;display:block}.inline-list>li>*{display:block}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}.text-justify{text-align:justify !important}@media only screen and (max-width: 40em){.small-only-text-left{text-align:left !important}.small-only-text-right{text-align:right !important}.small-only-text-center{text-align:center !important}.small-only-text-justify{text-align:justify !important}}@media only screen{.small-text-left{text-align:left !important}.small-text-right{text-align:right !important}.small-text-center{text-align:center !important}.small-text-justify{text-align:justify !important}}@media only screen and (min-width: 40.063em) and (max-width: 64em){.medium-only-text-left{text-align:left !important}.medium-only-text-right{text-align:right !important}.medium-only-text-center{text-align:center !important}.medium-only-text-justify{text-align:justify !important}}@media only screen and (min-width: 40.063em){.medium-text-left{text-align:left !important}.medium-text-right{text-align:right !important}.medium-text-center{text-align:center !important}.medium-text-justify{text-align:justify !important}}@media only screen and (min-width: 64.063em) and (max-width: 90em){.large-only-text-left{text-align:left !important}.large-only-text-right{text-align:right !important}.large-only-text-center{text-align:center !important}.large-only-text-justify{text-align:justify !important}}@media only screen and (min-width: 64.063em){.large-text-left{text-align:left !important}.large-text-right{text-align:right !important}.large-text-center{text-align:center !important}.large-text-justify{text-align:justify !important}}@media only screen and (min-width: 90.063em) and (max-width: 120em){.xlarge-only-text-left{text-align:left !important}.xlarge-only-text-right{text-align:right !important}.xlarge-only-text-center{text-align:center !important}.xlarge-only-text-justify{text-align:justify !important}}@media only screen and (min-width: 90.063em){.xlarge-text-left{text-align:left !important}.xlarge-text-right{text-align:right !important}.xlarge-text-center{text-align:center !important}.xlarge-text-justify{text-align:justify !important}}@media only screen and (min-width: 120.063em) and (max-width: 99999999em){.xxlarge-only-text-left{text-align:left !important}.xxlarge-only-text-right{text-align:right !important}.xxlarge-only-text-center{text-align:center !important}.xxlarge-only-text-justify{text-align:justify !important}}@media only screen and (min-width: 120.063em){.xxlarge-text-left{text-align:left !important}.xxlarge-text-right{text-align:right !important}.xxlarge-text-center{text-align:center !important}.xxlarge-text-justify{text-align:justify !important}}div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0}a{color:#008CBA;text-decoration:none;line-height:inherit}a:hover,a:focus{color:#0078a0}a img{border:none}p{font-family:inherit;font-weight:normal;font-size:1rem;line-height:1.6;margin-bottom:1.25rem;text-rendering:optimizeLegibility}p.lead{font-size:1.21875rem;line-height:1.6}p aside{font-size:0.875rem;line-height:1.35;font-style:italic}h1,h2,h3,h4,h5,h6{font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:normal;font-style:normal;color:#222;text-rendering:optimizeLegibility;margin-top:0.2rem;margin-bottom:0.5rem;line-height:1.4}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-size:60%;color:#6f6f6f;line-height:0}h1{font-size:2.125rem}h2{font-size:1.6875rem}h3{font-size:1.375rem}h4{font-size:1.125rem}h5{font-size:1.125rem}h6{font-size:1rem}.subheader{line-height:1.4;color:#6f6f6f;font-weight:normal;margin-top:0.2rem;margin-bottom:0.5rem}hr{border:solid #ddd;border-width:1px 0 0;clear:both;margin:1.25rem 0 1.1875rem;height:0}em,i{font-style:italic;line-height:inherit}strong,b{font-weight:bold;line-height:inherit}small{font-size:60%;line-height:inherit}code{font-family:Consolas,"Liberation Mono",Courier,monospace;font-weight:normal;color:#333;background-color:#f8f8f8;border-width:1px;border-style:solid;border-color:#dfdfdf;padding:0.125rem 0.3125rem 0.0625rem}ul,ol,dl{font-size:1rem;line-height:1.6;margin-bottom:1.25rem;list-style-position:outside;font-family:inherit}ul{margin-left:1.1rem}ul.no-bullet{margin-left:0}ul.no-bullet li ul,ul.no-bullet li ol{margin-left:1.25rem;margin-bottom:0;list-style:none}ul li ul,ul li ol{margin-left:1.25rem;margin-bottom:0}ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}ul.square{list-style-type:square;margin-left:1.1rem}ul.circle{list-style-type:circle;margin-left:1.1rem}ul.disc{list-style-type:disc;margin-left:1.1rem}ul.no-bullet{list-style:none}ol{margin-left:1.4rem}ol li ul,ol li ol{margin-left:1.25rem;margin-bottom:0}dl dt{margin-bottom:0.3rem;font-weight:bold}dl dd{margin-bottom:0.75rem}abbr,acronym{text-transform:uppercase;font-size:90%;color:#222;cursor:help}abbr{text-transform:none}abbr[title]{border-bottom:1px dotted #ddd}blockquote{margin:0 0 1.25rem;padding:0.5625rem 1.25rem 0 1.1875rem;border-left:1px solid #ddd}blockquote cite{display:block;font-size:0.8125rem;color:#555}blockquote cite:before{content:"\2014 \0020"}blockquote cite a,blockquote cite a:visited{color:#555}blockquote,blockquote p{line-height:1.6;color:#6f6f6f}.vcard{display:inline-block;margin:0 0 1.25rem 0;border:1px solid #ddd;padding:0.625rem 0.75rem}.vcard li{margin:0;display:block}.vcard .fn{font-weight:bold;font-size:0.9375rem}.vevent .summary{font-weight:bold}.vevent abbr{cursor:default;text-decoration:none;font-weight:bold;border:none;padding:0 0.0625rem}@media only screen and (min-width: 40.063em){h1,h2,h3,h4,h5,h6{line-height:1.4}h1{font-size:2.75rem}h2{font-size:2.3125rem}h3{font-size:1.6875rem}h4{font-size:1.4375rem}h5{font-size:1.125rem}h6{font-size:1rem}}.reveal-modal-bg{position:fixed;top:0;bottom:0;left:0;right:0;background:#000;background:rgba(0,0,0,0.45);z-index:1004;display:none;left:0}.reveal-modal{visibility:hidden;display:none;position:absolute;z-index:1005;width:100%;top:0;border-radius:3px;left:0;background-color:#fff;padding:1.875rem;border:solid 1px #666;box-shadow:0 0 10px rgba(0,0,0,0.4)}@media only screen and (max-width: 40em){.reveal-modal{min-height:100vh}}.reveal-modal .column,.reveal-modal .columns{min-width:0}.reveal-modal>:first-child{margin-top:0}.reveal-modal>:last-child{margin-bottom:0}@media only screen and (min-width: 40.063em){.reveal-modal{width:80%;max-width:62.5rem;left:0;right:0;margin:0 auto}}@media only screen and (min-width: 40.063em){.reveal-modal{top:6.25rem}}.reveal-modal.radius{border-radius:3px}.reveal-modal.round{border-radius:1000px}.reveal-modal.collapse{padding:0}@media only screen and (min-width: 40.063em){.reveal-modal.tiny{width:30%;max-width:62.5rem;left:0;right:0;margin:0 auto}}@media only screen and (min-width: 40.063em){.reveal-modal.small{width:40%;max-width:62.5rem;left:0;right:0;margin:0 auto}}@media only screen and (min-width: 40.063em){.reveal-modal.medium{width:60%;max-width:62.5rem;left:0;right:0;margin:0 auto}}@media only screen and (min-width: 40.063em){.reveal-modal.large{width:70%;max-width:62.5rem;left:0;right:0;margin:0 auto}}@media only screen and (min-width: 40.063em){.reveal-modal.xlarge{width:95%;max-width:62.5rem;left:0;right:0;margin:0 auto}}.reveal-modal.full{top:0;left:0;height:100%;height:100vh;min-height:100vh;max-width:none !important;margin-left:0 !important}@media only screen and (min-width: 40.063em){.reveal-modal.full{width:100%;max-width:62.5rem;left:0;right:0;margin:0 auto}}.reveal-modal.toback{z-index:1003}.reveal-modal .close-reveal-modal{font-size:2.5rem;line-height:1;position:absolute;top:0.625rem;right:1.375rem;color:#aaa;font-weight:bold;cursor:pointer}.label{font-weight:normal;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;text-align:center;text-decoration:none;line-height:1;white-space:nowrap;display:inline-block;position:relative;margin-bottom:auto;padding:0.25rem 0.5rem 0.25rem;font-size:0.6875rem;background-color:#008CBA;color:#fff}.label.radius{border-radius:3px}.label.round{border-radius:1000px}.label.alert{background-color:#f04124;color:#fff}.label.warning{background-color:#f08a24;color:#fff}.label.success{background-color:#43AC6A;color:#fff}.label.secondary{background-color:#e7e7e7;color:#333}.label.info{background-color:#a0d3e8;color:#333}[class*="block-grid-"]{display:block;padding:0;margin:0 -0.625rem}[class*="block-grid-"]:before,[class*="block-grid-"]:after{content:" ";display:table}[class*="block-grid-"]:after{clear:both}[class*="block-grid-"]>li{display:block;height:auto;float:left;padding:0 0.625rem 1.25rem}@media only screen{.small-block-grid-1>li{width:100%;list-style:none}.small-block-grid-1>li:nth-of-type(1n){clear:none}.small-block-grid-1>li:nth-of-type(1n+1){clear:both}.small-block-grid-2>li{width:50%;list-style:none}.small-block-grid-2>li:nth-of-type(1n){clear:none}.small-block-grid-2>li:nth-of-type(2n+1){clear:both}.small-block-grid-3>li{width:33.33333%;list-style:none}.small-block-grid-3>li:nth-of-type(1n){clear:none}.small-block-grid-3>li:nth-of-type(3n+1){clear:both}.small-block-grid-4>li{width:25%;list-style:none}.small-block-grid-4>li:nth-of-type(1n){clear:none}.small-block-grid-4>li:nth-of-type(4n+1){clear:both}.small-block-grid-5>li{width:20%;list-style:none}.small-block-grid-5>li:nth-of-type(1n){clear:none}.small-block-grid-5>li:nth-of-type(5n+1){clear:both}.small-block-grid-6>li{width:16.66667%;list-style:none}.small-block-grid-6>li:nth-of-type(1n){clear:none}.small-block-grid-6>li:nth-of-type(6n+1){clear:both}.small-block-grid-7>li{width:14.28571%;list-style:none}.small-block-grid-7>li:nth-of-type(1n){clear:none}.small-block-grid-7>li:nth-of-type(7n+1){clear:both}.small-block-grid-8>li{width:12.5%;list-style:none}.small-block-grid-8>li:nth-of-type(1n){clear:none}.small-block-grid-8>li:nth-of-type(8n+1){clear:both}.small-block-grid-9>li{width:11.11111%;list-style:none}.small-block-grid-9>li:nth-of-type(1n){clear:none}.small-block-grid-9>li:nth-of-type(9n+1){clear:both}.small-block-grid-10>li{width:10%;list-style:none}.small-block-grid-10>li:nth-of-type(1n){clear:none}.small-block-grid-10>li:nth-of-type(10n+1){clear:both}.small-block-grid-11>li{width:9.09091%;list-style:none}.small-block-grid-11>li:nth-of-type(1n){clear:none}.small-block-grid-11>li:nth-of-type(11n+1){clear:both}.small-block-grid-12>li{width:8.33333%;list-style:none}.small-block-grid-12>li:nth-of-type(1n){clear:none}.small-block-grid-12>li:nth-of-type(12n+1){clear:both}}@media only screen and (min-width: 40.063em){.medium-block-grid-1>li{width:100%;list-style:none}.medium-block-grid-1>li:nth-of-type(1n){clear:none}.medium-block-grid-1>li:nth-of-type(1n+1){clear:both}.medium-block-grid-2>li{width:50%;list-style:none}.medium-block-grid-2>li:nth-of-type(1n){clear:none}.medium-block-grid-2>li:nth-of-type(2n+1){clear:both}.medium-block-grid-3>li{width:33.33333%;list-style:none}.medium-block-grid-3>li:nth-of-type(1n){clear:none}.medium-block-grid-3>li:nth-of-type(3n+1){clear:both}.medium-block-grid-4>li{width:25%;list-style:none}.medium-block-grid-4>li:nth-of-type(1n){clear:none}.medium-block-grid-4>li:nth-of-type(4n+1){clear:both}.medium-block-grid-5>li{width:20%;list-style:none}.medium-block-grid-5>li:nth-of-type(1n){clear:none}.medium-block-grid-5>li:nth-of-type(5n+1){clear:both}.medium-block-grid-6>li{width:16.66667%;list-style:none}.medium-block-grid-6>li:nth-of-type(1n){clear:none}.medium-block-grid-6>li:nth-of-type(6n+1){clear:both}.medium-block-grid-7>li{width:14.28571%;list-style:none}.medium-block-grid-7>li:nth-of-type(1n){clear:none}.medium-block-grid-7>li:nth-of-type(7n+1){clear:both}.medium-block-grid-8>li{width:12.5%;list-style:none}.medium-block-grid-8>li:nth-of-type(1n){clear:none}.medium-block-grid-8>li:nth-of-type(8n+1){clear:both}.medium-block-grid-9>li{width:11.11111%;list-style:none}.medium-block-grid-9>li:nth-of-type(1n){clear:none}.medium-block-grid-9>li:nth-of-type(9n+1){clear:both}.medium-block-grid-10>li{width:10%;list-style:none}.medium-block-grid-10>li:nth-of-type(1n){clear:none}.medium-block-grid-10>li:nth-of-type(10n+1){clear:both}.medium-block-grid-11>li{width:9.09091%;list-style:none}.medium-block-grid-11>li:nth-of-type(1n){clear:none}.medium-block-grid-11>li:nth-of-type(11n+1){clear:both}.medium-block-grid-12>li{width:8.33333%;list-style:none}.medium-block-grid-12>li:nth-of-type(1n){clear:none}.medium-block-grid-12>li:nth-of-type(12n+1){clear:both}}@media only screen and (min-width: 64.063em){.large-block-grid-1>li{width:100%;list-style:none}.large-block-grid-1>li:nth-of-type(1n){clear:none}.large-block-grid-1>li:nth-of-type(1n+1){clear:both}.large-block-grid-2>li{width:50%;list-style:none}.large-block-grid-2>li:nth-of-type(1n){clear:none}.large-block-grid-2>li:nth-of-type(2n+1){clear:both}.large-block-grid-3>li{width:33.33333%;list-style:none}.large-block-grid-3>li:nth-of-type(1n){clear:none}.large-block-grid-3>li:nth-of-type(3n+1){clear:both}.large-block-grid-4>li{width:25%;list-style:none}.large-block-grid-4>li:nth-of-type(1n){clear:none}.large-block-grid-4>li:nth-of-type(4n+1){clear:both}.large-block-grid-5>li{width:20%;list-style:none}.large-block-grid-5>li:nth-of-type(1n){clear:none}.large-block-grid-5>li:nth-of-type(5n+1){clear:both}.large-block-grid-6>li{width:16.66667%;list-style:none}.large-block-grid-6>li:nth-of-type(1n){clear:none}.large-block-grid-6>li:nth-of-type(6n+1){clear:both}.large-block-grid-7>li{width:14.28571%;list-style:none}.large-block-grid-7>li:nth-of-type(1n){clear:none}.large-block-grid-7>li:nth-of-type(7n+1){clear:both}.large-block-grid-8>li{width:12.5%;list-style:none}.large-block-grid-8>li:nth-of-type(1n){clear:none}.large-block-grid-8>li:nth-of-type(8n+1){clear:both}.large-block-grid-9>li{width:11.11111%;list-style:none}.large-block-grid-9>li:nth-of-type(1n){clear:none}.large-block-grid-9>li:nth-of-type(9n+1){clear:both}.large-block-grid-10>li{width:10%;list-style:none}.large-block-grid-10>li:nth-of-type(1n){clear:none}.large-block-grid-10>li:nth-of-type(10n+1){clear:both}.large-block-grid-11>li{width:9.09091%;list-style:none}.large-block-grid-11>li:nth-of-type(1n){clear:none}.large-block-grid-11>li:nth-of-type(11n+1){clear:both}.large-block-grid-12>li{width:8.33333%;list-style:none}.large-block-grid-12>li:nth-of-type(1n){clear:none}.large-block-grid-12>li:nth-of-type(12n+1){clear:both}}.keystroke,kbd{background-color:#ededed;border-color:#ddd;color:#222;border-style:solid;border-width:1px;margin:0;font-family:"Consolas","Menlo","Courier",monospace;font-size:inherit;padding:0.125rem 0.25rem 0;border-radius:3px}
diff --git a/agkyra/gui/icons/about.png b/agkyra/gui/icons/about.png
new file mode 100644
index 0000000000000000000000000000000000000000..685275b8f56ecb81657a8029b7f089c422536a36
GIT binary patch
literal 2110
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

literal 0
HcmV?d00001

diff --git a/agkyra/gui/icons/exit.png b/agkyra/gui/icons/exit.png
new file mode 100644
index 0000000000000000000000000000000000000000..12f93a705640cbe10ed5c8beab64e1c60a7b9581
GIT binary patch
literal 16872
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

literal 0
HcmV?d00001

diff --git a/agkyra/gui/icons/folder.png b/agkyra/gui/icons/folder.png
new file mode 100644
index 0000000000000000000000000000000000000000..f850696f1793b0d5dace623d914dfef3a2975f4f
GIT binary patch
literal 1223
zcmV;&1UUPNP)<h;3K|Lk000e1NJLTq001Na001Be1^@s6dXd_W00006VoOIv0RI60
z0RN!9r;`8x010qNS#tmY3ljhU3ljkVnw%H_000McNliru-va~>Fc+}59n=5-02y>e
zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00b{dL_t(o!>yRTZyZ$=#eetC
z+b=s#jFS+cBob995GjBZmgwQnfP#hyf%p$VAVmm)1S#ndRH2~(gn-asi6TV=6pjQ)
z2}zvTyR$R%J}$+~Zek~ncXvF}TWvA(-g)Pod+wVN4&i#|!%qR^gSX$Xi{JnLVpZgq
z%@SZUJ>MNHz4ZFa&;JS_ZNYqW=|_3<)pY}S_rhndxNh$))oi^6bns<B^!^9TK7a50
zYhTJ?F!aU7rYlD~XRiM8-6x|vTjxgGTUbg5?$!V^SXw#8k+tK$J#+Tl`|dCR4R8H-
zGNthCc({G)uZ_#3;4w20d!z_v1_qL4oPO?wv*kGdS`P!zv+HN?s7PjJq!d5|R6w-;
z|BxXfh$@mP(R*U>m?hlD-~4nwR3*WeSW0t)F|*?5uP&Wb)owW&BGh1J@xtVuNT}B~
z!<G5yf-lE}svyO<5JNEp@}0X3w{Dr$9L%|^)C_RfH~*x}hZLh7VpS~!D5Zq2O7fk%
zvQXiQO!;#E{BecoJ)tV+XGrduGsTE6#;yJ6ZvMTAiXtK;o8Ln+i9a(^Obh6>2hezX
z8`tfUIah~5n@ifqn&bY6mqW?PmVl<j3(2fb&o(pKZar-V$&=l?Z<^F9;1pEko-f*{
z*UTUfpxjfTCXCglYdUKl=s8&HXB_JZy-ZLOY;IVSX$=*_S;P@hCbp1WfTIaJUfE1W
zCiQBrjsRh)qnuvNIK7&&+EX%FlqEsT=nxnX7$lFg$YgtyIWvJGDc5qPDic8)h5$MW
zYklGAV;N^oIM(`#ip*DZGVLWuigaRN5G(pt;Ve8LoC=glS?y+AxnbOFx~el^kO{~8
z%2P*_Czq9@T_r85R!ZP2#1F~B7_o?v9srbpjwq+P#)=cRFwDRSkSX+?u-s9WJ4(MJ
zERd0q0;Ccw2djX9@QCymV@ZXMX4AxRlg(+PYu2=tnIlQ=J82~kK8I=qu>^|;W`v5N
zdvnMd3Kz;CYr1s|;Kxvn!56i3Gwnupd#iP{nn8>;E9D46(W(WtJi=P-n^4qJ`2s>{
z6|3zSN)bX?vr`oiJ&RStLl~OBt)?14mDf`FvSy}bgVw3FX09r!J>m-}hqZ}gJDGL?
zvZmXH1Ti&!v;)q+(bp1H<65#57gybOFXu4u$tZ$RMkA!A3GT;O2u;@H4Ve4bk$Lk%
zs8U8qP3a3bRmCS^=#9Ijv0XvW87li!Z&kuLuh~fvOzLsKG2>wg6h*lm9fd&>K@i-^
ziN_&DZkLgb>z*5VWV!o@_bMO3E5!aj6=gF6N+yg_hktE=_E&Hnhg*5<1Z6&CXFTNU
zZO^ssgwuWKpSFk&nA-zj{$rh)5lyKEM|q;ROqON1?qG@NJ)?Zgu$;V;?=!bde%xVv
lIKj*ijH63Eq|-w+<9}?RKZoeH;-LTl002ovPDHLkV1kbAG!Fm(

literal 0
HcmV?d00001

diff --git a/agkyra/gui/icons/logo.png b/agkyra/gui/icons/logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..02bff3f4ff2993b9feb9a5ad9340e968b918faf2
GIT binary patch
literal 14540
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

literal 0
HcmV?d00001

diff --git a/agkyra/gui/icons/logs.png b/agkyra/gui/icons/logs.png
new file mode 100644
index 0000000000000000000000000000000000000000..2a891de03d3f381e6e9d2b38ce129652f4cd175d
GIT binary patch
literal 2874
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
Y4-XkV=M)DuT>t<807*qoM6N<$f@%bm9RL6T

literal 0
HcmV?d00001

diff --git a/agkyra/gui/icons/pithos.png b/agkyra/gui/icons/pithos.png
new file mode 100644
index 0000000000000000000000000000000000000000..881da0efef06c235983340cee7f79c2bf793db98
GIT binary patch
literal 1160
zcmV;31b6$1P)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F800006VoOIv0RI60
z0RN!9r;`8x010qNS#tmY4c7nw4c7reD4Tcy000McNliru-vS8_4mg#m%AEiJ1Qkg{
zK~z}7#h1@(T}2efKl758CQVWb#ui!^R!YH*pivQNBbw$lXiO<$K#E$Uc?4Ye2e=S|
z8yC6|jF4z|Zdy>2ki_P-4Hh>FE~*QEQfrZFLnR?GdC8qQ=eW4<CGVyAabFT~V7N1P
zX3m^B^F7~l#<4+>9<pNe1!cb|1SNQdU=ZRyqTqF<9~22nN|bb@OpEb$W`g(D+ryEd
z%y)BGl{T+52jf5x_5@{jFw&wpuY{m11Z6HLw}SAk7?a1w`3~UR^U!sE8wwPxQ4<uG
z0;%4GxPEN)oOd6>J-CmmAh`K}KQ+0z+~f+p#z<szL;_x5Ng!IME(td?ISwX~n@Xxc
z)ki#Q%EK5}ff*nV_(EL-W`XMtIx;y9<}&>MWvq3Ft{`N&TZD#SuoPmn7tI|EB84b`
z4{_Va;|uK<xwV<>>O|&;+v?~urPr0H?i`o_RyaxFpEE{Nj;<uK6IsCbKzb17&QRr*
zMz7TQK!Z2-dcl^2X|LqHkoU^`(J`WJ-JSLBJRUA&Dzt!Qd0dotf?-9*TV^{05eR_9
z%;!Qm8zQ#6#)5JFM2`N%3Ro800E8Ys3`*~s3Y31=sJcSeV_rFh5w&010tWK0a6pU~
z#CX~(EuvH>P~dAdMuT$hi7)u+QU+Qlw#kIWa`Q#%OgI#jCQ<6W;(`&W@K+?<XdYp<
zIQOegI67RR7igA4s?-NtF=O#QC2or-D9e4kf)?i$$5*e7<wcns*Ei#V2XK7utXxCK
zvX9@PbqX*S^T8&iA9#JkSdbcE2;+X>_Z{@YDd1!#SHAhW!AOiBcYVygyU*f)S24Z^
zrhx^(Z-AUo2vRe^HQ>#Biu98g*q?&o9VeGxPg47H7q#1w;YxhJ$&4v67R1UxMG;iX
zfMR7_jRjF$p}h>a)iO%fr+wh?Gn3pd1ECw>w)F5E@M(pIsITzE?-w^O!+`Wa)gYf4
zG+}Gg=5|bMFod$NEyo+<?Fooz?j@>8ai18EiP9-Xs~US%W2BW_L8+e?+lyjcR%KY=
ziYULejI(&96IzBVV8Z!ss6Si&?~l_os<20mS}|OKa7>LQHRflOnPWpMjPT7<@aW|&
z<O7zaS&WXLaWvG@KxAdSAC)rV>bZr$boKZI<CQ6JhLoh44NCnTLQ8_sT0yC(P$;Bl
zrW{e@m$r))WW`#IRu9r(Mjvov3;6pR=&y0qq#D=WyrO70{W5o%(&3F3QSK3=F(|bK
z3wTjxgD@40FI5<MWRyRPnb3)eZMu?m|97c-@|RJTBau)W1qcFpjbBKSkdFkn>Sa`w
z$?-!Hxrx$pI}JfO4t#)%L$BNTRDHl(JN7hlpMXGr>L02w1})~I)zLo~3|X4Gwp_B!
a0saL^So2gjF!8GZ0000<MNUMnLSTa5Iun5a

literal 0
HcmV?d00001

diff --git a/agkyra/gui/icons/settings.png b/agkyra/gui/icons/settings.png
new file mode 100644
index 0000000000000000000000000000000000000000..55f92ece8fecd9f6183a0fe5c72bc8aced8b6566
GIT binary patch
literal 2866
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
QoB#j-07*qoM6N<$f=mRA<^TWy

literal 0
HcmV?d00001

diff --git a/agkyra/gui/icons/tray.png b/agkyra/gui/icons/tray.png
new file mode 100644
index 0000000000000000000000000000000000000000..cd8e011d007aa8850458bfdef943f9c262c96da4
GIT binary patch
literal 2289
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
LNkvXXu0mjfq|Hgz

literal 0
HcmV?d00001

diff --git a/agkyra/gui/index.html b/agkyra/gui/index.html
new file mode 100644
index 0000000..e08e4eb
--- /dev/null
+++ b/agkyra/gui/index.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html>
+<head><title>GUI for Agkyra Pithos+ Syncing Client</title></head>
+<body><script src="protocol.js"> </script></body>
+</html>
\ No newline at end of file
diff --git a/agkyra/gui/logs.txt b/agkyra/gui/logs.txt
new file mode 100644
index 0000000..e826567
--- /dev/null
+++ b/agkyra/gui/logs.txt
@@ -0,0 +1 @@
+There must be some logs
diff --git a/agkyra/gui/package.json b/agkyra/gui/package.json
new file mode 100644
index 0000000..2374ca5
--- /dev/null
+++ b/agkyra/gui/package.json
@@ -0,0 +1,16 @@
+{
+  "name": "Agkyra",
+  "main": "index.html",
+  "description": "A Pithos+ Syncing Client for Desktop",
+  "version": 0.0,
+  "window": {
+    "show": false,
+    "toolbar": false,
+    "frame": false
+  },
+  "maintainers": [{
+    "name": "Synnefo Development Team",
+    "web": "http://www.synnefo.org"
+    }],
+  "licences": [{"type": "GPLv3"}]
+}
diff --git a/agkyra/gui/protocol.js b/agkyra/gui/protocol.js
new file mode 100644
index 0000000..8972459
--- /dev/null
+++ b/agkyra/gui/protocol.js
@@ -0,0 +1,98 @@
+var gui = require('nw.gui');
+
+// Read config file
+var fs = require('fs');
+var cnf = JSON.parse(fs.readFileSync(gui.App.argv[0], encoding='utf-8'));
+
+setTimeout(function() {
+  // Connect to helper
+  var socket = new WebSocket('ws://localhost:' + cnf['port']);
+  socket.onopen = function() {
+    console.log('Connecting to helper');
+    this.send(cnf['token']);
+  }
+  socket.onmessage = function(e) {
+    console.log('message', e.data);
+  };
+  socket.onerror = function () {
+      console.log('GUI and helper cannot communicate, quiting');
+      gui.Window.get().close();
+  }
+
+  // Setup GUI
+  var windows = {
+    "settings": null,
+    "about": null,
+    "index": gui.Window.get()
+  }
+  function closeWindows() {
+    for (win in windows) if (windows[win]) windows[win].close();
+  }
+
+  // GUI components
+  var tray = new gui.Tray({
+    tooltip: 'Paused (0% synced)',
+    title: 'Agkyra syncs with Pithos+',
+    icon: 'icons/tray.png'
+  });
+
+  var menu = new gui.Menu();
+
+  // See contents
+  menu.append(new gui.MenuItem({type: 'separator'}));
+  menu.append(new gui.MenuItem({
+    label: 'Open local folder',
+    icon: 'icons/folder.png',
+    click: function () {gui.Shell.showItemInFolder('.');}
+  }));
+
+  menu.append(new gui.MenuItem({
+    label: 'Launch Pithos+ page',
+    icon: 'icons/pithos.png',
+    click: function () {
+      gui.Shell.openExternal('https://pithos.okeanos.grnet.gr');
+    }
+  }));
+
+  menu.append(new gui.MenuItem({
+    label: 'Recently changed files',
+    icon: 'icons/logs.png',
+    click: function () {gui.Shell.openItem('logs.txt');}
+  }));
+
+  // Settings and About
+  menu.append(new gui.MenuItem({type: 'separator'}));
+  menu.append(new gui.MenuItem({
+    label: 'Settings',
+    icon: 'icons/settings.png',
+    click: function () {
+      if (windows['settings']) windows['settings'].close();
+      windows['settings'] = gui.Window.open("settings.html", {
+        "toolbar": false, "focus": true});
+    }
+  }));
+
+  menu.append(new gui.MenuItem({
+    label: 'About',
+    icon: 'icons/about.png',
+    click: function () {
+      if (windows['about']) windows['about'].close();
+      windows['about'] = gui.Window.open("about.html", {
+        "toolbar": false, "resizable": false, "focus": true});
+    }
+  }));
+
+  // Quit
+  menu.append(new gui.MenuItem({type: 'separator'}));
+  menu.append(new gui.MenuItem({
+    label: 'Quit Agkyra',
+    icon: 'icons/exit.png',
+    click: function () {
+      console.log('Exiting client');
+      console.log('Exiting GUI');
+      closeWindows()
+    }
+  }));
+
+  tray.menu = menu;
+}, 100); // Timeout in milliseconds
diff --git a/agkyra/gui/settings.html b/agkyra/gui/settings.html
new file mode 100644
index 0000000..ce74444
--- /dev/null
+++ b/agkyra/gui/settings.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+  <title>Agira client settings</title>
+  <style>
+    @import url('foundation.min.css');
+  </style>
+</head>
+<body>
+  <form>
+
+    <h1>Account settings</h1>
+
+    <h2>Cloud:</h2>
+    <div class="row">
+      <div class="large-12 columns">
+        <label>Cloud URL
+          <input type="text" placeholder="Authentication URL"/>
+        </label>
+      </div>
+    </div>
+    <div class="row">
+      <div class="large-12 columns">
+        <label>Token
+          <input type="text" placeholder="User token"/>
+        </label>
+      </div>
+    </div>
+
+    <h2>What to sync:</h2>
+    <div class="row">
+      <div class="large-4 columns">
+        <label>Remote container
+          <input type="text" value="pithos"/>
+        </label>
+      </div>
+      <div class="large-4 columns">
+        <label>Local directory
+          <input type="file" nwdirectory />
+        </label>
+      </div>
+      <script>var gui=require('nw.gui');</script>
+      <div class="large-4 columns">
+        <label>Exclude these items from syncing
+          <input
+            type="button"
+            onclick="gui.Shell.openItem('logs.txt');"/>
+        </label>
+      </div>
+    </div>
+
+  </form>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/agkyra/gui/ws.html b/agkyra/gui/ws.html
new file mode 100644
index 0000000..7693d80
--- /dev/null
+++ b/agkyra/gui/ws.html
@@ -0,0 +1,20 @@
+<html><head>
+<script>
+
+    // Read config file
+        var socket = new WebSocket("ws://83.212.96.33:8888");
+        socket.onopen = function() {
+          console.log('open dude!');
+          this.send('Hello World!');
+        };
+        socket.onmessage = function(e) {
+          console.log('message', e.data);
+        };
+        socket.onerror = function() {
+          console.log('error');
+        };
+        socket.onclose = function(e) {
+          console.log('close', e.code, e.reason);
+        };
+</script>
+</head><body></body></html>
\ No newline at end of file
diff --git a/agkyra/index.html b/agkyra/index.html
new file mode 100644
index 0000000..e69de29
diff --git a/agkyra/protocol.py b/agkyra/protocol.py
new file mode 100644
index 0000000..81e5fe8
--- /dev/null
+++ b/agkyra/protocol.py
@@ -0,0 +1,41 @@
+from ws4py.websocket import WebSocket
+
+
+class WebSocketProtocol(WebSocket):
+    """Helper-side WebSocket protocol for communication with GUI:
+
+    -- INTERRNAL HANDSAKE --
+    GUI: {"token": <token>}
+    HELPER: {"ACCEPTED": 202}" or "{"ERROR": 401, "MESSAGE": <message>}
+
+    -- GET SETTINGS --
+    GUI: {"method": "get", "path": "settings"}
+    HELPER:
+        {
+            "token": <user token>,
+            "url": <auth url>,
+            "container": <container>,
+            "directory": <local directory>,
+            "exclude": <file path>
+        } or {"ERROR": <error code>, "MESSAGE": <message>}"
+
+    -- PUT SETTINGS --
+    GUI: {
+            "method": "put", "path": "settings",
+            "token": <user token>,
+            "url": <auth url>,
+            "container": <container>,
+            "directory": <local directory>,
+            "exclude": <file path>
+        }
+    HELPER: {"CREATED": 201} or {"ERROR": <error code>, "MESSAGE": <message>}
+
+    -- GET STATUS --
+    GUI: {"method": "get", "path": "status"}
+    HELPER: ""progres": <int>, "paused": <boolean>} or
+        {"ERROR": <error code>, "MESSAGE": <message>}
+    """
+
+    def __init__(self, *args, **kwargs):
+        super(WebSocketProtocol, self).__init__(*args, **kwargs)
+        print 'lala'
-- 
GitLab