Skip to content

Commit

Permalink
Merge pull request #25 from agarbato/demo
Browse files Browse the repository at this point in the history
Demo
  • Loading branch information
agarbato authored Apr 1, 2022
2 parents 8db000c + f76c919 commit 2487493
Show file tree
Hide file tree
Showing 8 changed files with 83 additions and 43 deletions.
7 changes: 6 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,13 @@ Clients can sync from a central server or from a local replica to save bandwidth

This was one of my first python projects and I have zero to little experience with html, css and graphic design. I would be happy if someone
is willing to contribute to redesign the interface using bootstrap.
<br>
# Live Demo

<br>
Live demo [here](https://unicloud-demo.duckdns.org/)

`User : demo`
`Password : _uniclouddemo2022`

# Features

Expand Down
92 changes: 52 additions & 40 deletions app/routes.py
Original file line number Diff line number Diff line change
Expand Up @@ -247,30 +247,36 @@ def client_process():
ssh_key = request.form.get('ssh_key')
share = request.form.get('share')
register_type = "ui"
if name is not None or ssh_key is not None:
client = ClientMgt(name)
if client.exist()[0] > 0:
result = "Error Client %s already exist" % name
rc = 500
else:
result = "\n".join(client.add(ssh_key, authkeyfile, register_type, share))
rc = 200
return render_template("client_mgt_result.html", result=result), rc
if server_demo_mode:
return render_template("client_mgt_result_demo.html"), 200
else:
if name is not None or ssh_key is not None:
client = ClientMgt(name)
if client.exist()[0] > 0:
result = "Error Client %s already exist" % name
rc = 500
else:
result = "\n".join(client.add(ssh_key, authkeyfile, register_type, share))
rc = 200
return render_template("client_mgt_result.html", result=result), rc


@app.route("/clients/del/process", methods=['POST'])
@basic_auth.required
def del_process():
name = request.form.get('del_name')
if name is not None:
client = ClientMgt(name)
print (client.exist()[0])
if client.exist()[0] == 0:
result = "Client %s does not exist" % name
else:
client.remove(authkeyfile)
result = "Client %s removed successfully" % name
return render_template("client_mgt_result.html", result=result), 200
if server_demo_mode:
return render_template("client_mgt_result_demo.html"), 200
else:
if name is not None:
client = ClientMgt(name)
print(client.exist()[0])
if client.exist()[0] == 0:
result = "Client %s does not exist" % name
else:
client.remove(authkeyfile)
result = "Client %s removed successfully" % name
return render_template("client_mgt_result.html", result=result), 200


@app.route("/clients/activate/process", methods=['POST'])
Expand Down Expand Up @@ -359,19 +365,22 @@ def share_add_process():
path = request.form.get('path')
description = request.form.get('description')
create = request.form.get('create')
if name is not None or path is not None or description is not None:
share = ShareMgt(name)
result = share.add(path, description, create)
#print (result)
if result is not True:
result = "Error, share %s or path %s already exist" % (name, path)
rc = 500
else:
result = "Share %s added successfully<br>Path: %s" % ( name, path)
rc = 200
if server_demo_mode:
return render_template("share_mgt_result_demo.html"), 200
else:
result = "Please Fill all the fields in the form..."
return render_template("share_mgt_result.html", result=result), rc
if name is not None or path is not None or description is not None:
share = ShareMgt(name)
result = share.add(path, description, create)
#print (result)
if result is not True:
result = "Error, share %s or path %s already exist" % (name, path)
rc = 500
else:
result = "Share %s added successfully<br>Path: %s" % ( name, path)
rc = 200
else:
result = "Please Fill all the fields in the form..."
return render_template("share_mgt_result.html", result=result), rc


@app.route("/shares/del/process", methods=['POST'])
Expand All @@ -381,17 +390,20 @@ def share_del_process():
s = ShareMgt(name)
path = s.info(info="path")
delete_folder = request.form.get('delete_folder')
result = s.delete(path, delete_folder)
if result is not True:
result = f"Error, Path {path} does not exist or share not present"
rc = 500
if server_demo_mode:
return render_template("share_mgt_result_demo.html"), 200
else:
if delete_folder != "Yes":
result = f"Share {name} Removed successfully<br>Existing Files on Path: {path} were not removed"
else:
result = f"Share {name} Removed successfully<br>All Files on Path: {path} removed"
rc = 200
return render_template("share_mgt_result.html", result=result), rc
result = s.delete(path, delete_folder)
if result is not True:
result = f"Error, Path {path} does not exist or share not present"
rc = 500
else:
if delete_folder != "Yes":
result = f"Share {name} Removed successfully<br>Existing Files on Path: {path} were not removed"
else:
result = f"Share {name} Removed successfully<br>All Files on Path: {path} removed"
rc = 200
return render_template("share_mgt_result.html", result=result), rc


@app.route("/shares/getsize/<name>/process", methods=['POST'])
Expand Down
11 changes: 11 additions & 0 deletions app/templates/client_mgt_result_demo.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{% extends "layout.html" %}
{% set active_page = "clients" %}
{% block title %}{{ result }}{% endblock %}
{% block content %}
<p> Not allowed on demo mode</p>
<p> Redirect to Clients in 5secs.. </p>
<meta http-equiv="refresh" content="5;url=/clients" />
{% endblock %}



11 changes: 11 additions & 0 deletions app/templates/share_mgt_result_demo.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{% extends "layout.html" %}
{% set active_page = "shares" %}
{% block title %}{{ result }}{% endblock %}
{% block content %}
<p> Not allowed on demo mode</p>
<p> Redirect to Shares in 5secs.. </p>
<meta http-equiv="refresh" content="5;url=/shares" />
{% endblock %}



2 changes: 0 additions & 2 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,6 @@ services:
- type: bind
source: ./local_tests/client/share
target: /data/share
depends_on:
- test_unicloud_server
networks:
unison:

Expand Down
1 change: 1 addition & 0 deletions start/start.py
Original file line number Diff line number Diff line change
Expand Up @@ -240,6 +240,7 @@ def server_conf():
'server_ui_username': server_ui_username,
'server_ui_password': server_ui_password,
'server_debug': server_debug,
'server_demo_mode': server_demo_mode,
'filemanager_root': filemanager_root,
'shares_path': shares_path,
'max_log_events': max_log_events,
Expand Down
1 change: 1 addition & 0 deletions start/start_env.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
server_ui_username = os.getenv('SERVER_UI_USERNAME', 'admin')
server_ui_password = os.getenv('SERVER_UI_PASSWORD')
server_debug = os.getenv('SERVER_DEBUG', False)
server_demo_mode = os.getenv('SERVER_DEMO_MODE', False)
unison_params = os.getenv('UNISON_PARAMS', '#place additional params with UNISON_PARAMS env')
home_assistant = os.getenv('HOME_ASSISTANT', False)
home_assistant_url = os.getenv('HOME_ASSISTANT_URL')
Expand Down
1 change: 1 addition & 0 deletions start/templates/serverconf.tpl.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
server_ui_username = '{{ server_ui_username }}'
server_ui_password = '{{ server_ui_password }}'
server_debug = {{ server_debug }}
server_demo_mode = {{ server_demo_mode }}
shares_path = '{{ shares_path }}'
filemanager_root = '{{ filemanager_root }}'
max_log_events = '{{ max_log_events }}'
Expand Down

0 comments on commit 2487493

Please sign in to comment.